leetcode 516. 最长回文子序列

2023.8.27

本题依旧使用dp算法做,可以参考 回文子串 这道题。**dp[i][j]定义为:子串s[i,j] 的最长回文子串。**直接看代码:

cpp 复制代码
class Solution {
public:
    int longestPalindromeSubseq(string s) {
        vector<vector<int>> dp(s.size(),vector<int>(s.size()));
        for(int i=s.size()-1; i>=0; i--)
        {
            for(int j=i; j<s.size(); j++)
            {
                if(s[i] == s[j])
                {
                    if(j-i<=1) dp[i][j] = j-i+1;
                    else dp[i][j] = dp[i+1][j-1]+2;
                }
                else dp[i][j] = max(dp[i][j-1],dp[i+1][j]);
            }
        }
        return dp[0][s.size()-1];
    }
};

附上草稿图以供参考:

相关推荐
技术专家1 小时前
Stable Diffusion系列的详细讨论 / Detailed Discussion of the Stable Diffusion Series
人工智能·python·算法·推荐算法·1024程序员节
csdn_aspnet1 小时前
C# (QuickSort using Random Pivoting)使用随机枢轴的快速排序
数据结构·算法·c#·排序算法
鹿角片ljp2 小时前
最长回文子串(LeetCode 5)详解
算法·leetcode·职场和发展
广师大-Wzx3 小时前
一篇文章看懂MySQL数据库(下)
java·开发语言·数据结构·数据库·windows·python·mysql
paeamecium3 小时前
【PAT甲级真题】- Cars on Campus (30)
数据结构·c++·算法·pat考试·pat
chh5634 小时前
C++--模版初阶
c语言·开发语言·c++·学习·算法
RTC老炮4 小时前
带宽估计算法(gcc++)架构设计及优化
网络·算法·webrtc
dsyyyyy11015 小时前
计数孤岛(DFS和BFS解决)
算法·深度优先·宽度优先
会编程的土豆5 小时前
01背包与完全背包详解
开发语言·数据结构·c++·算法
汀、人工智能6 小时前
[特殊字符] 第86课:最大正方形
数据结构·算法·数据库架构·图论·bfs·最大正方形