C++ | Leetcode C++题解之第516题最长回文子序列

题目:

题解:

cpp 复制代码
class Solution {
public:
    int longestPalindromeSubseq(string s) {
        int n = s.length();
        vector<vector<int>> dp(n, vector<int>(n));
        for (int i = n - 1; i >= 0; i--) {
            dp[i][i] = 1;
            char c1 = s[i];
            for (int j = i + 1; j < n; j++) {
                char c2 = s[j];
                if (c1 == c2) {
                    dp[i][j] = dp[i + 1][j - 1] + 2;
                } else {
                    dp[i][j] = max(dp[i + 1][j], dp[i][j - 1]);
                }
            }
        }
        return dp[0][n - 1];
    }
};
相关推荐
【 】42310 小时前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++
一只牛_00710 小时前
pthread亲和性继承的一个坑:main绑核让整个进程退化到单核
c++
张健115640964811 小时前
C++访问控制与友元
java·开发语言·c++
水蓝烟雨11 小时前
3337. 字符串转换后的长度 II
算法·leetcode
_日拱一卒11 小时前
LeetCode:226翻转二叉树
数据结构·算法·leetcode
踩坑记录11 小时前
leetcode hot100 64. 最小路径和 medium 递归优化
leetcode·深度优先
BirdenT12 小时前
20260424紫题训练
c++·算法
还是阿落呀12 小时前
基本控制结构
开发语言·c++·算法
样例过了就是过了12 小时前
LeetCode热题100 最长有效括号
c++·算法·leetcode·动态规划
南境十里·墨染春水12 小时前
C++笔记 forward完美转发
开发语言·c++·笔记