码迷,mamicode.com
首页 > 其他好文 > 详细

Longest Palindromic Substring

时间:2015-07-15 22:56:32      阅读:132      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!