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];
    }
};
相关推荐
繁星蓝雨9 分钟前
C++设计原理——异常处理
java·c++·异常处理·noexcept·throw·try catch
Kurisu_红莉栖23 分钟前
关于相关问题的自我回答
c++
hansang_IR24 分钟前
【题解】[AGC020E] Encoding Subsets
c++·算法·dp
我不管我就要叫小猪1 小时前
C/C++----命名空间
c语言·开发语言·c++
白白白小纯1 小时前
算法篇—返回倒数第k个节点
c语言·数据结构·算法·leetcode
无忧.芙桃2 小时前
数据结构之堆
c语言·数据结构·c++·算法·
2301_777998342 小时前
Linux线程控制——从线程创建到线程分离(第三部分:线程等待 pthread_join)
linux·运维·服务器·c语言·c++
醉城夜风~2 小时前
C++模板详解:从基础到高级全面解析
java·开发语言·c++
RuiZN3 小时前
Muduo---Channel类
运维·服务器·c++
誰能久伴不乏3 小时前
深入理解 C++ 多态:对象模型与底层机制解析
开发语言·c++·架构