正负无穷float('inf')的一些用法

摘要:
示例:输入:[-2,1,-3,4,-1,2,1,-5,4],输出:6解释:连续子数组[4],-1,2,1]的和最大,为6。

Python中可以用如下方式表示正负无穷:

float("inf"), float("-inf")

利用 inf 做简单加、乘算术运算仍会得到 inf

>>> 1 + float('inf')
inf
>>> 2 * float('inf')
inf

但是利用 inf 乘以0会得到 not-a-number(NaN):

>>> 0 * float("inf")
nan

除了inf外的其他数除以inf,会得到0

>>> 889 / float('inf')
0.0
>>> float('inf')/float('inf')
nan

通常的运算是不会得到 inf值的 

 
>>> 2.0**2
4.0
>>> _**2
16.0
>>> _**2
256.0
>>> _**2
65536.0
>>> _**2
4294967296.0
>>> _**2
1.8446744073709552e+19
>>> _**2
3.4028236692093846e+38
>>> _**2
1.157920892373162e+77
>>> _**2
1.3407807929942597e+154
>>> _**2
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
OverflowError: (34, 'Numerical result out of range')
 

inf的运算规则遵从 IEEE-754 standard

不等式:

当涉及 > 和 < 运算时,

  • 所有数都比-inf大
  • 所有数都比+inf小

 等式:

+inf 和 +inf相等

-inf 和 -inf相等

例子

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

示例:

输入: [-2,1,-3,4,-1,2,1,-5,4],
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
def maxsum(nums):
    max_pre = -float('inf')
    max_cur = -float('inf')
    for i in nums:
        max_cur = max(max_cur + i, i)
        max_pre = max(max_pre, max_cur)
    return max_pre


免责声明:文章转载自《正负无穷float('inf')的一些用法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nacos部署中的一些常见问题汇总vant-picker二次封装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Caused by: com.alibaba.druid.pool.DataSourceClosedException: dataSource already closed

春季启动正常启动后,计划任务中的数据库查询报告错误。错误消息如下:1Causedby:org.apache。伊巴提斯。例外情况。PersistenceException:2###错误查询数据库。暂停:org.springframework。jdbc。无法获取JdbcConnection异常:无法获取JDBC连接;3estedexetinisom.alibab...

从零开始制作Galgame——我的Ren'py学习笔记(一)

然后点击“启动工程”点击“开始游戏”效果应该是这样的好了,现在你就制作出了属于自己的第一个游戏角色在一般的Galgame中,不是所有话都是“旁白”说的,一个完整的游戏里面应该有主角那么,怎么在ren'py中定义角色呢我们把刚才的代码更改一下definel=Characterlabelstart:l"HelloWorld!...

ClickHouse之访问权限控制

Ck当前只有select和insert。这是我刚才提到的:60cd41aedc4e47e8883682b416109e7b7e345e15ecc63c2c98ecdab5e8e053a只读defaultdefault此部分意味着添加具有只读权限的dba用户。允许访问的数据库是默认值。源IP不受限制::/0尝试以dba用户身份登录:clickhouse-cli...

Python生成pyd文件

Python的脚本文件是开源的,量化策略的安全性没有保障。那么要对Python代码进行混淆、加密保护。Python有py、pyc、pyw、pyo、pyd等文件格式。vcvarsall.bat是VC编译Python环境的文件之一。方案1:修改Python安装目录的文件设置方案2:修改注册表我采用方案1,亲测可用。测试结果,用py2exe可以正常使用pyd文件。...

在oracle里,如何取得本周、本月、本季度、本年度的第一天和最后一天的时间

在Oracle中,如何获取本周、本月、本季度和今年的第一天和最后一天的时间------解决方案-------本周从dual中选择trunk+1;从dual中选择trunk+7;--选择本月的双截;从dual中选择last_ days;--本季精选双截;从dual中选择add_ months-1;--今年从dual中选择trunk;selectadd_ mon...

转分享MAC office2016 安装及激活

请单击“系统首选项”中的“安全和隐私”,在上面的“常规”选项卡中找到“允许从以下位置下载的应用程序”,然后选择“AppStore和批准的开发人员”以安装dmg文件。打开它后,你会看到一个界面,上面有一个通常为灰色的黑色锁定标志。单击黑色锁将其激活。在激活过程中,如果需要输入系统密码,只需在登录操作系统时输入密码即可。...