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];
    }
};
相关推荐
菜鸡儿齐3 分钟前
leetcode-括号生成
算法·leetcode·职场和发展
希望之晨21 分钟前
c++ 11 学习 函数模板
linux·开发语言·c++
今儿敲了吗29 分钟前
27| 魔法封印
数据结构·c++·笔记·学习·算法
今儿敲了吗35 分钟前
30| 木材加工
数据结构·c++·笔记·学习·算法
WW_千谷山4_sch41 分钟前
MYOJ_7789:(洛谷P3388)【模板】割点(割顶)(tarjan算法)
c++·算法·深度优先·图论
WZ1881046386941 分钟前
LeetCode第131题
算法·leetcode
锅包一切41 分钟前
PART7 队列
c++·学习·算法·leetcode·力扣·刷题·队列
Fms_Sa1 小时前
设计并实现日期类Date,它至少包含下列特性:
c++·算法
Lsir10110_1 小时前
【Linux】生产者-消费者模型及条件变量
linux·运维·开发语言·c++
仰泳的熊猫1 小时前
题目1549:蓝桥杯算法提高VIP-盾神与积木游戏
数据结构·c++·算法·蓝桥杯