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];
    }
};
相关推荐
LoveXming44 分钟前
Chapter14—中介者模式
c++·microsoft·设计模式·中介者模式·开闭原则
杨筱毅4 小时前
【C++】【常见面试题】最简版带大小和超时限制的LRU缓存实现
c++·面试
陌路205 小时前
C23构造函数与析构函数
开发语言·c++
_OP_CHEN5 小时前
C++进阶:(二)多态的深度解析
开发语言·c++·多态·抽象类·虚函数·多态的底层原理·多态面试题
金色熊族7 小时前
装饰器模式(c++版)
开发语言·c++·设计模式·装饰器模式
Dream it possible!7 小时前
LeetCode 面试经典 150_链表_旋转链表(64_61_C++_中等)
c++·leetcode·链表·面试
坚持编程的菜鸟9 小时前
LeetCode每日一题——Pow(x, n)
c语言·算法·leetcode
CS创新实验室10 小时前
典型算法题解:长度最小的子数组
数据结构·c++·算法·考研408
我有一些感想……10 小时前
浅谈 BSGS(Baby-Step Giant-Step 大步小步)算法
c++·算法·数论·离散对数·bsgs
j_xxx404_10 小时前
C++ STL:string类(3)|operations|string类模拟实现|附源码
开发语言·c++