Longest Palindromic Substring

来源:互联网 发布:linux informix 安装 编辑:程序博客网 时间:2024/06/11 11:58

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

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);    }};

参考这篇文章

0 0
原创粉丝点击