题解 | #密码截取#
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
s = input() dp1 = [1 for _ in range(len(s))] dp2 = [1 for _ in range(len(s))] # aba型 for i in range(1, len(s)): if i - 1 - dp1[i - 1] >= 0: if s[i - 1 - dp1[i - 1]] == s[i]: dp1[i] = dp1[i - 1] + 2 # abba型 for i in range(1, len(s)): if s[i - 1] == s[i]: dp2[i] = 2 if i - 1 - dp2[i - 1] >= 0: if s[i - 1 - dp2[i - 1]] == s[i]: dp2[i] = dp2[i - 1] + 2 print(max(dp1 + dp2))