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];
    }
};
相关推荐
AbandonForce9 小时前
哈希表(HashTable,散列表)个人理解
开发语言·数据结构·c++·散列表
mask哥9 小时前
力扣算法java实现汇总整理(下)
java·算法·leetcode
样例过了就是过了10 小时前
LeetCode热题100 编辑距离
数据结构·c++·算法·leetcode·动态规划
z2005093010 小时前
C++中位图和布隆过滤器的一些面试题
开发语言·c++
khalil102010 小时前
代码随想录算法训练营Day-46 动态规划13 | 647. 回文子串、516.最长回文子序列、动态规划总结
数据结构·c++·算法·leetcode·动态规划·回文子串·回文子序列
挨踢ren11 小时前
单例模式:C++实现与多线程安全
c++·设计模式
he___H11 小时前
算法快与慢--哈希+双指针
算法·leetcode·哈希算法
用户8055336980311 小时前
现代Qt开发教程(新手篇)1.14——日志
c++·qt
艾莉丝努力练剑12 小时前
【Linux网络】Linux 网络编程入门:TCP Socket 编程(下)
linux·运维·服务器·网络·c++·tcp/ip
宵时待雨12 小时前
linux笔记归纳4:进程概念
linux·运维·服务器·c++·笔记