题解 | #最长回文子串#

最长回文子串

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)

全部评论

相关推荐

在debug的柠檬精很迷人:好消息:现在HR挑三拣四 15年后 HR跪着求要简历 坏消息:被挑的是这代人,到时候求人的也是这代人。真好。
点赞 评论 收藏
分享
Z_eus:别打招呼直接发你的优势
点赞 评论 收藏
分享
06-04 17:59
已编辑
长江大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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