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];
    }
};
相关推荐
LYS_061828 分钟前
C++学习(7)(输入输出)
c++·学习·算法
仰泳的熊猫31 分钟前
蓝桥杯算法提高VIP-种树
数据结构·c++·算法·蓝桥杯·深度优先·图论
圣保罗的大教堂41 分钟前
leetcode 761. 特殊的二进制字符串 困难
leetcode
Trouvaille ~1 小时前
【动态规划篇】专题(一):斐波那契模型——从数学递推到算法思维
c++·算法·leetcode·青少年编程·面试·动态规划·入门
样例过了就是过了1 小时前
LeetCode热题100 回文链表
数据结构·算法·leetcode·链表
汉克老师1 小时前
GESP2023年12月认证C++二级( 第二部分判断题(1-10))
c++·循环结构·分支结构·gesp二级·gesp2级
Solitary-walk2 小时前
前缀和思想
数据结构·c++·算法
消失的旧时光-19432 小时前
拷贝构造 vs 移动构造:从左值引用到右值引用彻底讲透(Student 示例)
c++·拷贝构造·移动构造
ouliten2 小时前
VSCode的C++插件clangd如何搭配cuda使用?
c++·ide·vscode
xiaoccii2 小时前
C++(入门版)
java·c++·算法