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];
    }
};
相关推荐
郝学胜_神的一滴4 小时前
Qt 高级开发 031:QListWidget图标布局实战
c++·qt
洛水水5 小时前
【力扣100题】81.寻找两个正序数组的中位数
数据结构·算法·leetcode
洛水水5 小时前
【力扣100题】85.每日温度
算法·leetcode·职场和发展
Coder-magician6 小时前
《代码随想录》刷题打卡day15:二叉树part05
数据结构·c++·算法
Kurisu_红莉栖6 小时前
力扣56合并区间
算法·leetcode
Irissgwe6 小时前
算法的时间复杂度和空间复杂度
数据结构·c++·算法·c·时间复杂度·空间复杂度
随意起个昵称6 小时前
区间dp-基础题目3(永别)
c++·算法
有点。6 小时前
C++贪心算法二(练习题)
c++·算法·贪心算法
开源Z6 小时前
LeetCode 135 · 分发糖果:两次扫描,先左后右取最大
算法·leetcode
坚果派·白晓明6 小时前
鸿蒙 PC 应用集成 libhv 鸿蒙化三方库 —— AtomCode + Skills 驱动的高效集成实践
c语言·c++·ai编程·harmonyos·atomcode