我已将此代码编写为石蕊编码挑战的一部分。代码正在通过测试输入(较小的输入)传递编译和结果。
对于很大的输入,代码由于时间限制(每输入1秒)和空间使用情况(每输入256 MB)而失败。
请提出我们如何优化此代码以满足上述要求。
下面是代码:
T= int(input())
initial=[0]
def fun(N):
for k in range(l):
initial.append(initial[k]^N)
O=sum([1 for x in initial if x%2!=0])
return [O,len(initial)-O]
for _ in range(T):
N=int(input())
l=len(initial)
out_=fun(N)
print(' '.join(map(str,out_)))
问题陈述:对于只有一个元素作为[0]的“初始”列表,必须在初始中添加每个输入(输入^ initial [x])。
预期输出:在完成所有输入的迭代后,在“初始”中打印奇数(O)和偶数(E)元素的数量。
T =>输入数量 初始= [0]
测试输入:3 1个 2 2
测试输出:1 1 2 2 4 4