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];
    }
};
相关推荐
一拳一个呆瓜5 小时前
【STL】文件系统导航
c++·stl
All for pursuit.6 小时前
【动态规划-21】312.戳气球
数据结构·c++·算法·leetcode·动态规划
栈帧之外6 小时前
【C++】STL之set
开发语言·c++
zhanghaha13147 小时前
C++构造函数的一些其他应用(逐词逐句保姆讲解)
c++
jimy18 小时前
c++的 Type Traits (二、更详细版本)
开发语言·c++
Scintilla_y9 小时前
DAY2 滑动窗口
算法·leetcode·散列表
特立独行的猫a10 小时前
仓颉语言UI开发实战:我用仓颉写了个桌面版力扣
算法·leetcode·ui·tauri·仓颉·cj-tarui
y1su10 小时前
Leetcode 动态规划 模板
java·数据结构·算法·leetcode·动态规划
半杯咖啡半行码10 小时前
C++11核心特性详解:从C++11到C++20 的现代C++指南
开发语言·c++
All for pursuit.11 小时前
【位运算-3】136.只出现一次的数字
数据结构·c++·算法·leetcode