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];
    }
};
相关推荐
不会就选b4 小时前
C++补充部分(一)--lambda 表达式
开发语言·c++
lvwangshu11 小时前
方阵游戏 题解
题解·技巧·前缀优化·性质题·思维好题·推导题
丰色木夕11 小时前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
文丑颜不良啊11 小时前
LeetCode51~75题目解析
leetcode
学电子她就能回来吗12 小时前
LeetCode Hot 100|普通数组专题学习笔记(零基础版)
笔记·算法·leetcode
衍玊14 小时前
多路转接原理与应用
c++
himobrinehacken15 小时前
位运算揭秘:左右移与符号位陷阱
c语言·c++·算法·安全
文丑颜不良啊16 小时前
LeetCode1~50题目解析
leetcode
Pniubi16 小时前
力扣146.LRU缓存机制
算法·leetcode·缓存
Android小码家18 小时前
Vehicle 实战 自定义属性+测试demo
java·c++·framework·vhal·vehicle