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];
    }
};

附上草稿图以供参考:

相关推荐
pearlthriving几秒前
STL容器及其底层
开发语言·c++·算法
念越3 分钟前
算法每日一题 Day04|快慢双指针法解决环形链表问题
数据结构·算法·链表
张人玉5 分钟前
VisionPro 药物检测工具 学习笔记
算法·c#·机器视觉·vsionpro
_深海凉_7 分钟前
LeetCode热题100-前 K 个高频元素
算法·leetcode·职场和发展
求学的小高7 分钟前
数据结构Day6(普通树、森林与二叉树的关系、哈夫曼编码、并查集)
数据结构·笔记·考研
周末也要写八哥16 分钟前
深度剖析:动态规划的分类及实例
算法·动态规划
星马梦缘23 分钟前
离散数学——二元关系 作战记录
算法·离散数学
LDG_AGI27 分钟前
【搜索引擎】Elasticsearch(五):prefix前缀匹配方法大全(包含search_as_you_type等6种解法)
人工智能·深度学习·算法·elasticsearch·搜索引擎
她说彩礼65万30 分钟前
C语言 函数指针
c语言·开发语言·算法
王老师青少年编程30 分钟前
csp信奥赛C++高频考点专项训练之贪心算法 --【排序贪心】:纪念品分组
c++·算法·贪心·csp·信奥赛·排序贪心·纪念品分组