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];
    }
};
相关推荐
库克克30 分钟前
【C++】 unordered_map 与unordered_set
开发语言·c++
hanlin031 小时前
刷题笔记:力扣第704、977、209题(数组相关)
笔记·算法·leetcode
李迟2 小时前
一种轻量级C++ CSV文件读写库的实现方案
开发语言·c++
学无止境_永不停歇2 小时前
9. 缓冲区
linux·服务器·c++
古道青阳2 小时前
Duilib 技术全景剖析
c++·windows
Rabitebla3 小时前
C++ 内存管理全面复习:从内存分布到 operator new/delete
java·c语言·开发语言·c++·算法·leetcode
玖玥拾3 小时前
LeetCode 58 最后一个单词的长度
算法·leetcode
SilentSlot3 小时前
【C/C++】手写 DPDK 协议栈(八):用五元组 Hash 加速连接定位
c语言·c++·哈希算法
hanlin033 小时前
刷题笔记:力扣第19题-删除链表的倒数第N个结点
笔记·leetcode·链表
jing.wang_20254 小时前
NVIDIA CUDA C++编程环境搭建--Windows + Ubuntu 22.04
c++·windows·ubuntu·gpu算力