题解 | #最长回文子串#

最长回文子串

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

动态规划:dp[i][j] 表示字符串第i个字符到第j个字符长度的子串,是否是回文(1 or 0)
如果A[i]==A[j]  and dp[i+1][j-1]==1  则 dp[i][j]=1
否则dp[i][j]=0

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A string字符串 
     * @return int整型
     */
    int getLongestPalindrome(string A) {
        // write code here
        int dp[1001][1001]={0};
        int lens=A.size();
        int max_len=1;
        for(int i=0;i<lens-1;i++)
        {
            dp[i][i]=1;
            if(A[i]==A[i+1])
            {
                dp[i][i+1]=1;
                max_len=2;
            }
        }
        dp[lens-1][lens-1]=1;
        
        for(int ll=2;ll<lens;ll++)
        {
            for(int j=0;j<lens-ll;j++)
            {
                if(A[j]==A[j+ll]&&dp[j+1][j+ll-1]==1)
                {
                    dp[j][j+ll]=1;
                    max_len=max(max_len,ll+1);
                }else{
                    dp[j][j+ll]=0;
                }
            }
        }
        return max_len;
    }
};
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 14:11
很喜欢小米的新车,校招薪资每月22k,攒多久能买?
测试糕手手:别看工资,先看现金流存款。有50W存款以上再考虑,车是消耗品,选适合自己的重要。你有钱就当我没说过
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-23 18:30
美团优选内容调整,屁股都没离开座椅呢,多多买菜来挖了
熬夜脱发码农:哈,拼多多真挖人是吧
投递美团等公司9个岗位 >
点赞 评论 收藏
分享
06-20 21:22
已编辑
门头沟学院 Java
纯真的河老师在喝茶:答应了就跑啊,实习随便跑啊,别被pua了,md就是找个廉价劳动力,还平稳过度正式工,到时候跟你说没转正
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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