首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >算法python3时间效率

算法python3时间效率
EN

Stack Overflow用户
提问于 2020-08-24 06:01:10
回答 1查看 44关注 0票数 0

在Python中,顶部是功能性的,而底部则不是。非功能性类型有超时,功能类型已经传递.有什么关系?

环境是一个python3环境。

代码语言:javascript
复制
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))
代码语言:javascript
复制
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)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-25 14:59:38

我按照链接到相应的SPOJ问题。对于这个特殊的问题,python 3的限制是非常严格的,您的TLE是由I/O造成的(请阅读注释这里)。您的算法看起来是正确的

考虑了函数调用和循环之间的差异。我向SPOJ提交了你的两个代码,都是TLE

我建议把问题下面的评论筛选出来,找出潜在的陷阱,供将来参考,这是很有帮助的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63555486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档