Я пытаюсь решить проблему SPOJ 5: найти следующий по величине целочисленный «палиндром» для заданного ввода; то есть целое число, которое в десятичной нотации читает то же самое слева-направо и справа налево.SPOJ Следующий палиндром
Пожалуйста, посмотрите вопрос here
Вместо того, чтобы использовать перебор, я пытаюсь вычислить следующий палиндром. Но мой код все еще возвращает TLE (то есть предел времени превышен), и я расстроен ... Не могли бы вы дать мне подсказку?
Вот мой код в питона 3.x
if __name__ == '__main__':
n = int(input())
for i in range(n):
string = input()
length = len(string)
ans = ""
if length %2 == 0 :
half = length // 2
str_half = string[0:half]
ans = str_half + str_half[::-1]
if(ans <= string):
str_half = str(int(str_half) + 1)
ans = str_half + (str_half[0:half])[::-1]
print(ans)
else:
half = length // 2
str_half = string[0:half]
ans = str_half + string[half] + str_half[::-1]
if(ans<= string):
str_half = str(int(str_half+string[half]) + 1)
ans = str_half + (str_half[0:half])[::-1]
print(ans)
Какие входы терпят неудачу? Какие работы работают? – sarnold
что такое TLE? 15 символов – Woot4Moo
Я думаю, что вход не сработает ... TLE означает, что превышен лимит времени – Bear