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];
    }
};
相关推荐
你好,赵志伟14 小时前
Reactor反应堆
网络·c++
y***548815 小时前
C++在游戏引擎中的开发
开发语言·c++·游戏引擎
AA陈超15 小时前
Lyra项目中的输入系统
c++·笔记·学习·游戏·ue5·lyra
铅笔小新z15 小时前
【C++】从理论到实践:类和对象完全指南(中)
开发语言·c++
千疑千寻~15 小时前
【C++】std::move与std::forward函数的区别
开发语言·c++
hansang_IR15 小时前
【记录】四道双指针
c++·算法·贪心·双指针
_OP_CHEN15 小时前
算法基础篇:(十二)基础算法之倍增思想:从快速幂到大数据运算优化
大数据·c++·算法·acm·算法竞赛·倍增思想
Murphy_lx15 小时前
C++ 条件变量
linux·开发语言·c++
xie0510_15 小时前
C++入门
c++
AA陈超15 小时前
ASC学习笔记0027:直接设置属性的基础值,而不会影响当前正在生效的任何修饰符(Modifiers)
c++·笔记·学习·ue5·虚幻引擎