なり - https://www.hackerrank.com/challenges/palindrome-indexは、私はこのHackerRank問題の解決策を書いて回文
を、私はこのコードを試してみた:
T = int(raw_input())
for t in xrange(T):
s = raw_input()
index = -1
if s != s[::-1]:
for i in xrange(len(s)):
temp = s[:i:] + s[i+1::]
if temp == temp[::-1]:
index = i
break
print index
をしかし、私はそれを送信すると、 14個のテストケースのうち、約8時間(約5〜7秒)がかかっており、そのうちの1つが10秒以上かかるため、HackerRankは結果を表示しません。 私のコードは効率が悪いようです。速く走れるように私を助けてください。
あなたがのためのアイデアを持っていますかこれらの文字列のサイズ?大きなオブジェクトの場合、 's [:: - 1]'はいくらか遅くなります(コピーがO(n)に生成されます) –
@ AlexO'Neill 100005 chars – Ivo
@Ivoが指摘しているように、 100,000文字。私はそれが最後のいくつかのテストケースがあまりにも多くの時間を費やす理由だと思います。 –