题解 | #密码截取#
密码截取
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))
文远知行公司福利 588人发布
