我想解決SPOJ問題5:爲給定的輸入找到下一個最大的整數「迴文」;也就是說,十進制表示法中的整數從左到右和從右到左讀取相同的整數。SPOJ Next Palindrome
請看看這個問題here
而不是使用蠻力搜索的,我試着計算下一個迴文。但我的代碼仍然返回TLE(即超出時間限制),我很沮喪...你介意給我一個提示嗎?
這是我在Python 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 2012-01-12 02:15:25
什麼是TLE? 15字符 – Woot4Moo 2012-01-12 02:16:06
我認爲沒有輸入失敗... TLE意味着超出時間限制 – Bear 2012-01-12 02:17:23