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];
    }
};
相关推荐
我能坚持多久32 分钟前
C++的Vector学习:从功能探索到底层实现
开发语言·c++·学习
凤凰院凶涛QAQ34 分钟前
《C++转java快速入手系列》类与对象篇
java·开发语言·c++
张健115640964841 分钟前
std::ranges、std::views和懒加载
开发语言·c++
瞎折腾啥啊1 小时前
现代 CMake 目标系统
c++·cmake·cmakelists
盐焗鹌鹑蛋1 小时前
【C++】list类
c++
minji...1 小时前
Linux 网络套接字编程(六)TCP的通信是全双工的,自定义协议的定制,序列化和反序列化
linux·运维·服务器·网络·c++
ximu_polaris1 小时前
设计模式(C++)-行为型模式-策略模式
c++·设计模式·策略模式
迷途之人不知返1 小时前
List的学习
数据结构·c++·学习·list
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 23. 合并 K 个升序链表 | C++ 顺序合并
c++·leetcode·链表
今夕资源网1 小时前
Visual C++运行库合集 V104.0 一个github免费开源的项目VisualCppRedist AIO
开发语言·c++·dll修复工具·dll修复·运行库·修复软件