的一個最大的迴文我試圖解決this問題上SPOJ下一個最大的迴文,但它是扔我的時間限制超出錯誤。這是我在Python這個問題的方法,尋找一些
t = int(raw_input().strip())
for i in range(t):
a = raw_input()
a = str(int(a) + 1)
palin = ""
if (len(a) % 2 == 0):
reverseoffirst = []
mainStr = a
firsthalf = mainStr[0:len(a)/2]
secondhalf = firsthalf[::-1]
palin = "".join(firsthalf) + "".join(secondhalf)
if (int(palin) < int(a)):
firsthalf = str(int(firsthalf) + 1)
secondhalf = firsthalf[::-1]
palin = "".join(firsthalf) + "".join(secondhalf)
else:
median = len(a)/2
mainStr = a
if(median == 0):
palin = "11"
else:
firsthalf = mainStr[0:median]
secondhalf = firsthalf[::-1]
palin = "".join(firsthalf) + mainStr[median] + "".join(secondhalf)
if (int(palin) < int(a)):
lastvalue = int(mainStr[median]) + 1
if (lastvalue == 10):
firsthalf = str(int(firsthalf) + 1)
secondhalf = firsthalf[::-1]
palin = firsthalf + "0" + secondhalf
else:
palin = firsthalf + str(lastvalue) + secondhalf
print palin
我知道我的問題可能會得到downvoted爲是像這樣的幾個問題重複,但我的方法是不是從任何地方複製。這就是爲什麼我想知道我的代碼有什麼問題。
請,如果你能指出任何一種方式,這種代碼可以得到任何好轉或任何測試用例,它不符合或任何其他的辦法,將是對我非常有幫助。謝謝!!
你用什麼輸入? – 2016-11-10 07:41:13
我使用了很多測試用例........但所有測試用例都滿足我的代碼。例如:65973,最近的迴文將是66066. – Proloy
那麼你的問題是什麼? – 2016-11-10 08:18:13