首页 > 其他分享 >lc516 最长回文子序列

lc516 最长回文子序列

时间:2024-03-21 20:55:08浏览次数:31  
标签:lc516 int 序列 最长 dp 回文

给定长度为n的字符串s,求最长回文子序列的长度。
1<=n<=1000

区间dp,记dp[i][j]表示区间[i,j]能构成的最长回文串的长度,根据s[i]跟s[j]是否相等进行转移。

class Solution {
public:
    int dp[1005][1005];
    int longestPalindromeSubseq(string s) {
        int n = s.size();
        for (int d = 1; d <= n; d++) {
            for (int i = 0; i+d <= n; i++) {
                int j = i+d-1;
                if (d == 1) {
                    dp[i][j] = 1;
                } else if (d == 2) {
                    dp[i][j] = s[i] == s[j] ? 2 : 1;
                } else if (s[i] == s[j]) {
                    dp[i][j] = 2 + dp[i+1][j-1];
                } else {
                    dp[i][j] = max(dp[i+1][j], dp[i][j-1]);
                }
            }
        }
        return dp[0][n-1];
    }
};

标签:lc516,int,序列,最长,dp,回文
From: https://www.cnblogs.com/chenfy27/p/18088224

相关文章

  • 125. 验证回文串c
    booljudge(charc){if(c>='a'&&c<='z'||c>='A'&&c<='Z'||c>='0'&&c<='9')returntrue;returnfalse;}boolisPalindrome(char*s){i......
  • 131. 分割回文串c
    /***Returnanarrayofarraysofsize*returnSize.*Thesizesofthearraysarereturnedas*returnColumnSizesarray.*Note:Bothreturnedarrayand*columnSizesarraymustbemalloced,assumecallercallsfree().*/charc[30][30];booljudge(ch......
  • 代码随想录算法训练营第五十三天 | 53. 最大子序和 动态规划,1035.不相交的线,1143.最
    53.最大子数组和 已解答中等 相关标签相关企业 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。  示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]......
  • requests.post传的data如果是直接使用python dict封装,有些服务端接收不了这种数据类型
    平时在自己的php项目里,使用dict方式组装data,然后requests.post,一点问题都没有。但是调了后端一个java的微服务接口,结果就一直报错422: 最后问了一下开发,得到提示“python好像还有个毛病,python的json对象转字符串的时候,转出来的字符串不是标准json字符串,还要做个字符串处理,变成......
  • 代码随想录算法训练营day29 | leetcode 491. 非递减子序列、46. 全排列、47. 全排列 I
    目录题目链接:491.非递减子序列-中等题目链接:46.全排列-中等题目链接:47.全排列II-中等题目链接:491.非递减子序列-中等题目描述:给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。你可以按任意顺序返回答案。数组中可能含有重......
  • leedcode- 回文链表
    毫无创意的一版:#定义一个类SolutionclassSolution:#定义一个方法isPalindrome,用于检查链表是否为回文defisPalindrome(self,head:Optional[ListNode])->bool:#如果链表为空,则它是一个回文ifnothead:returnTrue......
  • Moment:又一个开源的时间序列基础模型
    时间序列分析跨越了一系列广泛的应用,从天气预报到通过心电图进行健康监测。但是由于缺乏大型且整合的公开时间序列数据,所以在时间序列数据上预训练大型模型具有挑战性。为了应对这些挑战,MOMENT团队整理了一个庞大而多样的公共时间序列集合,作者将其称为Time-seriesPile。代码地址......
  • 【漏洞复现】1. WebLogic 反序列化漏洞(CVE-2019-2890)复现与分析
    文章目录1.基础知识2.复现2.1漏洞介绍漏洞影响版本:2.2漏洞原理分析2.3漏洞复现2.3.1环境搭建2.3.2漏洞验证2.3.3漏洞利用2.3.4POC分析2.4漏洞修复1.基础知识WebLogic是美国Oracle公司出品的一个applicationserver,确切的说是一个基于JAVAEE架构的中间......
  • Newtonsoft.Json/Json.NET忽略序列化时的意外错误
    在.NET中Newtonsoft.Json(Json.NET)是我们常用来进行Json序列化与反序列化的库。而在使用中常会遇到反序列化Json时,遇到不规则的Json数据解构而抛出异常。Newtonsoft.Json 支持序列化和反序列化过程中的错误处理。允许您捕获错误并选择是处理它并继续序列化,还是让错误冒泡并抛......
  • R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证
    全文链接:http://tecdat.cn/?p=31162最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出。本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广义矩估计法和准最大似然估计法估计。模拟SV模型的估计方法:  sim<-svsim(1000,mu=-9,phi=0.97,sigma......