leetcode 516. Longest Palindromic Subsequence
题目描述:
代码:
class Solution {
public:int longestPalindromeSubseq(string s) {int n = s.size();//i<=j,dp[i][j]表示s[i,j]的最长回文子串的长度,按照这个定义dp[0][n-1]就是答案,i>j的dp[i][j]不定义vector<vector<int>> dp(n,vector<int>(n,0));for(int i = 0;i < n;i++)dp[i][i] = 1;for(int i = n-1;i>=0;i--){for(int j =i+1;j<n;j++){if(s[i] == s[j]){dp[i][j] = dp[i+1][j-1] +2;}else{dp[i][j] = max(dp[i][j-1],dp[i+1][j]);}}}return dp[0][n-1];}
};