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];
    }
};
相关推荐
山登绝顶我为峰 3(^v^)33 小时前
C/C++ 交叉编译方法
java·c语言·c++
郝学胜-神的一滴7 小时前
中级OpenGL教程 013:渲染器类架构设计与逐帧渲染流程详解
开发语言·c++·unity·游戏引擎·图形渲染·opengl·unreal
Frostnova丶7 小时前
(12)LeetCode 76. 最小覆盖子串
算法·leetcode·职场和发展
wabs6668 小时前
关于动态规划【力扣583.两个字符串的删除操作的思考】
算法·leetcode·动态规划
小小龙学IT8 小时前
C++ 并发编程深度解析:从内存模型到无锁数据结构
数据结构·c++
_Doubletful8 小时前
妙用位运算:解构汉明距离至100%(提供分析与多解)
c语言·算法·leetcode
凯瑟琳.奥古斯特8 小时前
力扣1013三等分解法与C++实现
开发语言·c++·算法·leetcode·职场和发展
一拳一个呆瓜9 小时前
【STL】iostream 编程:缓冲区的作用
c++·stl
我不是懒洋洋9 小时前
从零实现一个分布式任务调度器:XXL-JOB的核心设计
c++