题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

a = list(input())
b = list(reversed(a))

dp = [[0 for i in range(len(a)+1)] for j in range(len(b)+1)]

ml = 0
for i in range(len(a)):
    for j in range(len(b)):
        if a[i] == b[j]:
            dp[i+1][j+1] = dp[i][j] + 1
			%我的评价是神之一笔,判定正反序相同子串是同一序列就可以了
            if dp[i+1][j+1] > ml and abs(j - (len(a)-1-i))+1 == dp[i+1][j+1]:
                ml = dp[i+1][j+1]
print(ml)

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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