簡體   English   中英

超出時間限制 (TLE) Python 代碼中的錯誤

[英]Time limit exceeded(TLE) Error in Python code

我正在嘗試在 Hackerearth 上查找特殊號碼的代碼。 如果數字n的數字之和可以被 4 整除,則稱數字 n 是特殊數字 對於給定的 integer a ,找到一個數字,使得: n是一個特殊數字, n >= an是可能的最小值。 我已經用我所有的知識創建了一個代碼,並且工作得非常好並且提供了正確的輸入,但是它給出了超出時間限制的錯誤

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM