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];
    }
};
相关推荐
Rabitebla3 小时前
【Linux 底层原理】进程(十):进程等待详解---从僵尸进程到 wait、waitpid 与 status
linux·c++·笔记·学习·visual studio
西西弗Sisyphus5 小时前
C++ 超时互斥锁(Timed Mutex):std::timed_mutex 与 std::unique_lock
c++
今天要早睡_7 小时前
C++01_入门基础复习
开发语言·c++
Nuanyt7 小时前
LeetCode Hot 100 链表专题(五)· 2 题(Java)
java·算法·leetcode·链表
Fuyo_111910 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
圣保罗的大教堂11 小时前
leetcode 3736. 最小操作次数使数组元素相等 III 简单
leetcode
文丑颜不良啊11 小时前
LeetCode1881~1990题目解析
java·leetcode
Chen_harmony11 小时前
七、STL与string类
开发语言·c++
xxxiugou12312 小时前
C++命名空间与引用全解析
开发语言·c++
用户76241175670513 小时前
第十五章 人工智能基础
c++