Python 3.x python3算法的时间效率
在Python中,顶部是功能性的,底部不是。 非功能类型有超时,且功能类型已通过。有什么区别 该环境是python3环境Python 3.x python3算法的时间效率,python-3.x,algorithm,Python 3.x,Algorithm,在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 whil
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))
导入系统
n、 m=map(int,sys.stdin.readline().split())
arr=list(映射(int,sys.stdin.readline().split())
开始=0
结束=最大值(arr)
def解决方案(arr、开始、结束):
结果=0
中途开始时:
总计+=i-中
如果总数我按照链接找到了相应的。对于这个特殊的问题,Python3的限制已经非常接近了,您的TLE是由I/O造成的(请阅读注释)。您的算法看起来正确 考虑到函数调用和循环的差异。我向SPOJ提交了两个代码,都是TLE
我建议您对问题下方的评论进行筛选,找出潜在的缺陷,以备将来参考。这确实很有帮助。您能详细说明一下您的超时系统吗?另外,请用输入测试用例和预期输出补充答案。这是本网站。因为它是一个韩国算法站点,比如Litcode,所以测试用例是隐藏的。语法上没有区别,只是它被包装在一个函数中,但它超时了,所以我问了一个问题。python3的前两个案例就是上述问题的案例。
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)