题解 | 密码截取

密码截取

https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

import sys
s = input().strip()
n = len(s)
if n == 1:
    print(1)
else:
    dp = [[False] * n for _ in range(n)]
    max_length = 0
    start = 0
    for i in range(n-1, -1, -1):
        for j in range(i, n):
            if s[i] == s[j]:
                if j-i < 2:
                    dp[i][j] = True
                else:
                    dp[i][j] = dp[i+1][j-1]
                if dp[i][j]:
                    current_leng = j - i + 1
                    if current_leng > max_length:
                        max_length = current_leng
                        start = i
    longest = s[start:start + max_length]
    print(max_length)



全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务