python-3.x - 算法 python3 时间效率
问题描述
在 Python 中,顶部是函数式的,而底部不是。非功能型有超时,功能型已经过去。有什么区别?
环境是python3环境。
import sys
n, m = map(int, sys.stdin.readline().split())
arr = list(map(int, sys.stdin.readline().split()))
start = 0
end = max(arr)
def solution(arr, start, end):
result = 0
while start <= end:
total = 0
mid = (start + end) // 2
for i in arr:
if i > mid:
total += i - mid
if total < m:
end = mid - 1
else:
result = mid
start = mid + 1
return result
print(solution(arr, start, end))
import sys
n, m = map(int, sys.stdin.readline().split())
arr = list(map(int, sys.stdin.readline().split()))
start = 0
end = max(arr)
result = 0
while start <= end:
total = 0
mid = (start + end) // 2
for i in arr:
if i > mid:
total += i - mid
if total < m:
end = mid - 1
else:
result = mid
start = mid + 1
print(result)
解决方案
推荐阅读
- salesforce - Salesforce 未正确评估工作流规则标准
- authentication - Hasura 和 Auth0 - 设置自定义声明
- android - Flutter:如何使用“Multi Image Picker”降低图像质量并将输出作为“文件”?
- python - 通过匹配另一个数据框中的行来过滤熊猫数据框
- python - Python - 如果从另一个目录运行,找不到图像文件?
- node.js - 将 Webpack 与 Auth0 集成或如何将其他 Node.js 模块添加到 IBM Cloud Functions
- javascript - 每个属性的模态屏幕
- node.js - Gulp Fontello 使用 adm-zip 出错,最近的现象
- android - 这些问题中的一个或多个是违反政策的。您必须解决这些问题。阿德莫布?
- python - 无法在 tkinter 框架中检查多个 Checkbutton