#Tips: #据说切片的时间和切片的长度成正比 #所以遇到可能是切片导致的超时,就要想办法优化切片长度 #麻了,彻底麻了 #无脑贪心来一波 s=input() ans=1 #倒序遍历长度 for i in range(len(s)): j=len(s)-i#长度,从最长开始 #检查所有长度为j的子串 for k in range(i+1): if s[k]==s[k+j-1]:#先满足首尾相同再切片,节约时间 if s[k:k+j]==s[k:k+j][::-1]:#检查子串 ans=j break else:#方便直接跳出两层循环 continue break print(ans) #过啦~ #下面我很久之前的思路,可能参考了别人的代码 #感觉上这个应该比较费时间才对,但是实际提交的时候 #甚至比上面的贪心更快 #典型的最长回文子串的问题 ''' s=input() max=0 for i in range(len(s)-1): for j in range(i+1,len(s)): if s[i]==s[j] and s[i:j+1]==s[i:j+1][::-1] and j-i+1>max: max=j-i+1 print(max) '''