思路:
典型的最长回文子串的问题,两层for循环暴力枚举所有的子串然后检查子串是否为回文串即可,存储下最大长度。
但是你会发现下面这个代码过不了
#典型的最长回文子串的问题
s=input()
max=0
for i in range(len(s)):
    for j in range(i+1,len(s)+1):
        if s[i:j]==s[i:j][::-1] and j-i>max:
            max=j-i
print(max)
我测试的时候会有三个数据TLE
后来去看了下题解,发现第一个就跟我的思路是一样的,只是多了一个条件:s[i]==s[j-1]
加上之后,就能过了。
猜测是因为切片操作比较费时间,加了一个条件,会少做一些切片操作。
代码:
#典型的最长回文子串的问题
s=input()
max=0
for i in range(len(s)):
    for j in range(i+1,len(s)+1):
        if s[i]==s[j-1] and s[i:j]==s[i:j][::-1] and j-i>max:
            max=j-i
print(max)