题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param A string字符串 
# @return int整型
#
class Solution:
    def getLongestPalindrome(self , A: str) -> int:
        # write code here
        n = len(A)
        max_len = 1
      
        dp = [[False for _ in range(n)] for _ in range(n)]
        for i in range(n):
            dp[i][i]=True
        
        for j in range(n):
            for i in range(j):
                if A[i]==A[j]:
                    if j-i<=2: # 里面的子串也要是回文
                        dp[i][j] = True
                    else:
                        dp[i][j]=dp[i+1][j-1]
                if dp[i][j]==True:
                    max_len = max(max_len,j-i+1)
                  
        return max_len
            

全部评论

相关推荐

点赞 评论 收藏
分享
03-12 13:51
南昌大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务