描述
对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
给定字符串A以及它的长度n,请返回最长回文子串的长度。
求助一下,我做这道题时的思路,是将字符串翻转,然后求他们的最大公共子串,但是为什么有一部分测试用例无法通过,代码如下
def get_lenth(lt,num):
arr=list(lt)
arr.reverse()
new_lt=''.join(arr)
curlenth=0
maxlenth=0
start=0
end=1
while end<=num:
if lt[start:end] in new_lt:
curlenth+=1
end+=1
else:
curlenth=0
start=end-1
end=start+1
maxlenth=max(curlenth,maxlenth)
return maxlenth
while True:
try:
myinput=input()
arr=myinput.split(',')
print(get_lenth(arr[0].replace('"', ''), int(arr[1])))
except:
break
arr=list(lt)
arr.reverse()
new_lt=''.join(arr)
curlenth=0
maxlenth=0
start=0
end=1
while end<=num:
if lt[start:end] in new_lt:
curlenth+=1
end+=1
else:
curlenth=0
start=end-1
end=start+1
maxlenth=max(curlenth,maxlenth)
return maxlenth
while True:
try:
myinput=input()
arr=myinput.split(',')
print(get_lenth(arr[0].replace('"', ''), int(arr[1])))
except:
break
全部评论
(3) 回帖