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];
    }
};
相关推荐
晚风吹红霞20 分钟前
深入浅出 STL 之 map 与 set:从入门到实战
开发语言·c++
牛油果子哥q24 分钟前
【C++封装】C++封装思想与访问权限终极精讲:public/private/protected权限解析、类封装设计、继承权限变化、工程私有化规范与面试坑点
c++·面试
织梦旅途24 分钟前
C++ 第一课 从 Hello Word!立刻开始
c++
.千余28 分钟前
【C++】 String 常用操作:增删查改 | 查找 | 截取 | IO
java·服务器·开发语言·c++·笔记·学习
jelly酱31 分钟前
Qt 坐标体系入门:从 GUI 概念到坐标实践
c++
代码改善世界32 分钟前
【C++进阶】哈希表封装unordered_map和unordered_set
c++·哈希算法·散列表
c2385634 分钟前
C++ lambda 表达式详细介绍
开发语言·c++
8Qi835 分钟前
LeetCode 188 & 123:股票买卖问题(限制交易次数)—— 联合题解
算法·leetcode·职场和发展·动态规划
一只齐刘海的猫43 分钟前
【Leetcode】三数之和
数据结构·算法·leetcode
无忧.芙桃1 小时前
debug实例与分析(一)
开发语言·c++·算法