【DP】最长回文字串【516. Longest Palindromic Subsequence】

来源:互联网 发布:自学高中课程的软件 编辑:程序博客网 时间:2024/06/17 13:12

题目链接:https://leetcode.com/problems/longest-palindromic-subsequence/#/description

class Solution {public:    int longestPalindromeSubseq(string s) {        int len=s.size();        //  创建一个二维数组,指定大小        //  dp[i][j] 表示s从j到i的LPS        vector<vector<int>> dp(len,vector<int>(len));        for(int i=0;i<len;i++){            dp[i][i]=1;            for(int j=i-1;j>=0;j--){//这里需要从最短距离开始统计                if(s[i]==s[j]){                    dp[i][j]=dp[i-1][j+1]+2;                }else{                    dp[i][j]=max(dp[i-1][j],dp[i][j+1]);                }            }                    }        return dp[len-1][0];    }};


阅读全文
0 0
原创粉丝点击