【发布时间】:2019-06-28 17:34:22
【问题描述】:
我正在为 CodeForces 中的一个问题编写代码,我 submitted 这个代码在 PyPy 中运行:
import math
a=[]
b=[]
t=int(input())
for i in range(t):
n=float(input())
a.append(math.floor(n))
b.append(math.ceil(n))
l=0-sum(a)
i=0
while i<len(a):
if l>0 and a[i]!=b[i]:
print(b[i])
l-=1
else:
print(a[i])
i+=1
但是,我得到了“超出时间限制”的判决,执行时间超过 1 秒。
由 CPython 解释器运行时相同的代码 ran in under 600 ms。
据我了解,PyPy 通常比 Python 快。为什么 CPython 对于这段代码会更快?
【问题讨论】:
-
PyPy 是python,你是说PyPy vs CPython?
-
@juanpa.arrivillaga 是的,这就是我的意思。我对 Python 比较陌生。不过谢谢。我编辑了我的帖子。
-
许多 SO 读者可能不知道您的缩写是什么意思。我假设他们通常来自 Code Forces 社区。span>
-
鉴于您收到的答案,我认为回顾这个具体案例是有启发性和有用的。为了将问题纳入主题指南,我已对其进行了修改,以具体说明这段代码的情况,而不是寻求一般性建议并直接包含代码。请检查我所写的错误,并注意您的代码在此处包含您的代码意味着它已获得知识共享许可。如果您可以接受,请通知我,我将提名该问题以重新开放。如果没有,我很抱歉假设许可。
-
@jpmc26 感谢您编辑我的帖子!在这里包括我的代码对我来说绝对没问题。当我发布下一个问题时,我会记住这些要点。谢谢