题解 | #最长回文子串#

最长回文子串

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

我使用的是中心位置法,遍历去头去尾的字符串,若字符串左边右边相等,则两个指针定位左边右边,同时向外扩展直到不相等,则回文长度是right_point - left_point - 1;若字符串左边或者右边的某一位与该字符串相等,则指针定位这两个相等的字符,并同时向外扩展直到不相等,方法相同;算法时间复杂度N方,空间复杂度N,一个存放所有以该数为中心的回文长度

完整代码:

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param A string字符串 
# @param n int整型 
# @return int整型
#
class Solution:
    def getLongestPalindrome(self , A: str, n: int) -> int:
        # write code here           
        dp = [1]*n
        if n ==1:
            return 1
        for i in range(1,n-1):
            if A[i-1] == A[i+1]:
                left_point ,right_point = i-1 , i+1
            elif A[i] == A[i-1]:
                left_point ,right_point = i-1 , i
            elif A[i+1] == A[i]:
                left_point ,right_point = i , i+1
            else:
                continue
            while left_point>=0 and right_point<n and A[left_point]==A[right_point]:
                left_point -= 1
                right_point += 1
            dp[i] = right_point - left_point - 1
        return max(dp)
全部评论
输入的是全一样的偶数个回文串时,输出的结果不对
1 回复 分享
发布于 2023-02-24 15:02 江苏
666,学习了👏👏
点赞 回复 分享
发布于 2021-11-14 15:33
大佬啊,get到了
点赞 回复 分享
发布于 2021-11-14 22:31
牛逼啊,有空帮忙指导下,哈哈
点赞 回复 分享
发布于 2021-11-17 10:15
这个程序有2个用例过不了,不知道啥不对
点赞 回复 分享
发布于 2021-11-25 19:54
这对全一样的偶数个回文串不对,结果永远差一
点赞 回复 分享
发布于 2022-03-28 20:27
三个if条件不互斥,会有问题
点赞 回复 分享
发布于 2022-09-04 12:35 广东
class Solution: def getLongestPalindrome(self, A: str) -> int: # write code here dp = 1 for i in range(0, len(A) - 1): if i>0 and A[i - 1] == A[i + 1]: left_point, right_point = i - 1, i + 1 while ( left_point >= 0 and right_point < len(A) and A[left_point] == A[right_point] ): left_point -= 1 right_point += 1 dp = max(dp, right_point - left_point - 1) if A[i + 1] == A[i]: left_point, right_point = i, i + 1 while ( left_point >= 0 and right_point < len(A) and A[left_point] == A[right_point] ): left_point -= 1 right_point += 1 dp = max(dp, right_point - left_point - 1) return dp
点赞 回复 分享
发布于 2022-09-24 14:12 上海
原题没有输入n
点赞 回复 分享
发布于 2023-02-24 14:15 江苏

相关推荐

头像 会员标识
昨天 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
11 收藏 评论
分享
牛客网
牛客企业服务