首页 > 其他 > 详细

Longest Palindromic Substring

时间:2015-07-15 22:53:17      阅读:294      评论:0      收藏:0      [点我收藏+]

现在还不是总结动态规划的时候,这次遇到了动态规划的新的另一个种类:矩阵法(自己创的),可以是一维也可以是二维,更多维很少见。随着刷题量的增大,务必好好总结动态规划是什么,有哪些种类。目前对动态规划很不了解。

class Solution {
public:
    string longestPalindrome(string s) {

        int length = s.size();
        int arr[1000][1000];
        int maxlen = 1;
        int start = 0;

        for(int i = 0; i < length; i++) {

            arr[i][i] = 1;


        }

        for(int i = 0; i < length - 1; i++) {

            if(s[i] == s[i + 1]){

                arr[i][i + 1] = 1;
                if(maxlen < 2) {

                    maxlen = 2;
                    start = i;

                }

            }else 

                arr[i][i + 1] = 0;

        }

        for(int differ = 2; differ < length; differ++) {

            for(int i = 0; i < length - differ; i++) {

                if(s[i] == s[i + differ] && arr[i + 1][i + differ - 1] == 1) {

                    arr[i][i + differ] = 1;
                    if(maxlen < differ + 1) {

                        maxlen = differ + 1;
                        start = i;
                    }

                }else 

                    arr[i][i + differ] = 0;

            }

        }

        return s.substr(start, maxlen);


    }
};

参考这篇文章

版权声明:本文为博主原创文章,未经博主允许不得转载。

Longest Palindromic Substring

原文:http://blog.csdn.net/guanzhongshan/article/details/46897799

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!