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];
    }
};
相关推荐
客卿12310 分钟前
力扣二叉树简单题整理--(包含常用语法的讲解)
算法·leetcode·职场和发展
We་ct15 分钟前
LeetCode 28. 找出字符串中第一个匹配项的下标:两种实现与深度解析
前端·算法·leetcode·typescript
血小板要健康21 分钟前
118. 杨辉三角,力扣
算法·leetcode·职场和发展
_OP_CHEN25 分钟前
【算法基础篇】(五十一)组合数学入门:核心概念 + 4 种求组合数方法,带你快速熟悉组合问题!
c++·算法·蓝桥杯·排列组合·组合数学·组合数·acm/icpc
漫随流水26 分钟前
leetcode回溯算法(491.非递减子序列)
数据结构·算法·leetcode·回溯算法
陳103029 分钟前
C++:二叉搜索树
开发语言·数据结构·c++
楼田莉子33 分钟前
Linux进程间通信——管道
linux·运维·服务器·c++·学习
YuTaoShao1 小时前
【LeetCode 每日一题】1984. 学生分数的最小差值
算法·leetcode·排序算法
wen__xvn1 小时前
基础算法集训第06天:计数排序
数据结构·算法·leetcode
却道天凉_好个秋1 小时前
c++ 四叉树
c++·hevc·四叉树