use*_*711 1 python algorithm list time-complexity minmax
我想从一个包含正数、负数且不考虑符号的列表中找到最大数字。例如:
arr = [2,3,-6,5]
## output: -6
arr = [2,3,6,-5]
## output: 6
Run Code Online (Sandbox Code Playgroud)
我有以下正在运行的代码:
def max_number(l):
abs_maxval = max(l,key=abs)
maxval = max(l)
minval = min(l)
if maxval == abs_maxval:
return maxval
else:
return minval
Run Code Online (Sandbox Code Playgroud)
虽然这是有效的并且时间复杂度是O(N),但我想知道是否有办法更快地找到数字或优化代码?据我了解,我正在扫描列表 3 次,这对于大型列表来说可能会更慢,而对于我的问题,我正在浏览数十万个大型列表。任何建议都会有帮助。谢谢!
| 归档时间: |
|
| 查看次数: |
1705 次 |
| 最近记录: |