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];
    }
};
相关推荐
故事和你9115 小时前
洛谷-算法2-3-分治与倍增5
开发语言·数据结构·c++·算法·动态规划·图论
charlie11451419115 小时前
通用GUI编程技术——图形渲染实战(三十九)——纹理与采样器:从WIC加载到GPU渲染
开发语言·c++·图形渲染·win32
北顾笙98015 小时前
day37-数据结构力扣
数据结构·算法·leetcode
郭涤生15 小时前
std::condition_variable的使用及主要事项
开发语言·c++
小菜鸡桃蛋狗15 小时前
C++——list
开发语言·c++
handler0115 小时前
Git 核心指令速查
linux·c语言·c++·笔记·git·学习
fish_xk15 小时前
c++中的多态
c++
汉克老师15 小时前
GESP2025年6月认证C++五级( 第三部分编程题(1、奖品兑换))
c++·二分算法·gesp5级·gesp五级
Lhan.zzZ15 小时前
笔记_2026.4.28_003
c++·笔记·qt·opencv
stolentime15 小时前
我常常追忆过去
c++·里程碑纪念