L2-008 最长对称子串
分数 25
全屏浏览
切换布局
作者 陈越
单位 浙江大学
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定Is PAT&TAP symmetric?
,最长对称子串为s PAT&TAP s
,于是你应该输出11。
输入格式:
输入在一行中给出长度不超过1000的非空字符串。
输出格式:
在一行中输出最长对称子串的长度。
输入样例:
Is PAT&TAP symmetric?
输出样例:
11
代码长度限制
16 KB
时间限制
200 ms
内存限制
64 MB
代码:
s = str(input())
ans = 1
n = len(s)
for i in range(0,int(n/2)-3,1):
for j in range(n-1,int(n/2)-2,-1):
if s[i] == s[j]:
t1 = i
t2 = j
flag = 1
while t1 < t2:
t1 += 1
t2 -= 1
if s[t1] != s[t2]:
flag = 0
break
if flag:
ans = max(ans,j-i+1)
break
print(ans)