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];
    }
};
相关推荐
蜡笔小马1 天前
13.C++设计模式-策略模式
c++·设计模式·策略模式
计算机安禾1 天前
【c++面向对象编程】第36篇:析构函数应永远不抛出异常——原因与最佳实践
开发语言·c++
我爱cope1 天前
【力扣hot100:53. 最大子数组和】
算法·leetcode·职场和发展
ゆづき1 天前
假如编程语言们有外号
java·c语言·c++·python·学习·c#·生活
Tisfy1 天前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针
REDcker1 天前
有限状态机与状态模式详解 FSM建模Java状态模式与C++表驱动模板实践
java·c++·状态模式
basketball6161 天前
C++ 构造函数完全指南:从入门到进阶
java·开发语言·c++
想唱rap1 天前
IO多路转接之poll
服务器·开发语言·数据库·c++
落羽的落羽1 天前
【算法札记】练习 | Week4
linux·服务器·数据结构·c++·人工智能·算法·动态规划
goodesocket1 天前
芯片HAST测试:通电工作下如何精准模拟极端环境挑战?
c++