[英]Time limit exceeded(TLE) Error in Python code
我正在嘗試在 Hackerearth 上查找特殊號碼的代碼。 如果數字n的數字之和可以被 4 整除,則稱數字 n 是特殊數字 對於給定的 integer a ,找到一個數字,使得: n是一個特殊數字, n >= a , n是可能的最小值。 我已經用我所有的知識創建了一個代碼,並且工作得非常好並且提供了正確的輸入,但是它給出了超出時間限制的錯誤
def add(n):
num_str = str(n)
sum = 0
for i in range(0, len(num_str)):
sum += int(num_str[i])
return sum
T=int(input())
while T>0:
a = input()
final=min([x for x in range(int(a),1006) if add(x)%4==0])
print(final)
T = T - 1
您可以做的一件事是在找到匹配項后立即增加a
和 short 。 目前,您正在計算所有可能性,然后再選擇最低的可能性。 當您只想要第一場比賽時,所有這些都是不必要的工作。
final = -1
for x in range(int(a), 1006):
if add(x) % 4 == 0:
final = x
break
print(final)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.