力扣题解(最长回文子序列)

516. 最长回文子序列

给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。

子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。

思路:设dp[i][j]是从i到j的最长回文子序列,此时若i+1和j-1位置元素大小相同,则dp[i+1][j-1]=dp[i][j]+2(也就是扩大了两个数字),而当不相同的时候,则表示此时dp[i+1][j-1]的实际是由(i到j+1或者i-1到j构成的最长回文子序列),则dp[i-1][j+1]=max(dp[i-1][j],dp[i][j+1]).

对于满足i位置的数等于j位置的数,i==j时,则此时dp一定是1,i=j-1时,dp是2,其余情况由dp来表示。

由于dp[i][j]表示(i到j)的最长,则dp[0][n-1]表示的就是整个字符串的回文子序列长度。

class Solution {
public:int longestPalindromeSubseq(string s) {int n=s.size();vector<vector<int>>dp(n,vector<int>(n,0));int ret=0;for(int j=0;j<n;j++){for(int i=j;i>=0;i--){   int k=0;if(s[i]==s[j]){if(i==j)k=1;else if(i==j-1)k=2;elsek=dp[i+1][j-1]+2;}else{k=max(dp[i][j-1],dp[i+1][j]);}dp[i][j]=max(dp[i][j],k);//ret=max(ret,dp[i][j]);}}return dp[0][n-1];}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/46421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

尚硅谷大数据技术-数据湖Hudi视频教程-笔记03【Hudi集成Spark】

大数据新风口&#xff1a;Hudi数据湖&#xff08;尚硅谷&Apache Hudi联合出品&#xff09; B站直达&#xff1a;https://www.bilibili.com/video/BV1ue4y1i7na 尚硅谷数据湖Hudi视频教程百度网盘&#xff1a;https://pan.baidu.com/s/1NkPku5Pp-l0gfgoo63hR-Q?pwdyyds阿里…

基于5个K7的多FPGA PCIE总线架构的高性能数据预处理平台

板载FPGA实时处理器&#xff1a;XCKU060-2FFVA15172个QSFP光纤接口&#xff0c;最大支持10Gbps/lane板载DMA控制器&#xff0c;能实现双向DMA高速传输支持x8 PCIE主机接口&#xff0c;系统带宽5GByte/s1个R45自适应千兆以太网口1个FMC子卡扩展接口 基于PCIE总线架构的高性能数据…

互联网药品经营许可证办理条件是什么?办理流程是什么?

山东省办理流程&#xff1a; http://www.shandong.gov.cn/api-gateway/jpaas-jiq-web-sdywtb/front/transition/ywTransToDetail?innerCode65053511-0aaa-468f-8c38-5306013e71bb 互联网药品经营许可证申请流程&#xff1a; 1.申请企业&#xff0c;须先登录国家食品药品监督…

DIY系列——自制简易笔记本电脑散热器

前言&#xff1a;为什么要自制笔记本电脑散热器&#xff1f; 夏天到了&#xff0c;电脑的使用频率也在增加。尤其是笔记本电脑&#xff0c;长时间运行后很容易发热&#xff0c;影响性能和寿命。市场上有很多散热器产品&#xff0c;但价格不菲且效果参差不齐。如果你动手能力强…

【原创】springboot+mysql图书共享交流平台设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

C++11空指针类型

C11之前&#xff1a;NULL 在C程序开发中&#xff0c;为了提高程序的健壮性&#xff0c;一般会在定义指针的同时完成初始化操作&#xff0c;或者在指针的指向尚未明确的情况下&#xff0c;都会给指针初始化为NULL&#xff0c;避免产生野指针问题。C98/03 标准中&#xff0c;将一…

gihub配置ssh key

检查本地主机是否已经存在ssh key cd ~/.ssh# 是否存在id_rsa和id_rsa.pub文件&#xff0c;存在则说明已有ssh Key ls生成ssh key ssh-keygen -t rsa -C "Your emailXXX.com"一直回车即可 获取公钥内容&#xff08;id_rsa.pub&#xff09; cd ~/.ssh cat id_rsa…

论文阅读:Explainability for Large Language Models: A Survey

Explainability for Large Language Models: A Survey 这篇论文提供了对大型语言模型&#xff08;LLMs&#xff09;可解释性技术的全面概述。以下是对论文内容的详细总结&#xff1a; 引言&#xff1a;介绍了LLMs在自然语言处理&#xff08;NLP&#xff09;任务中的卓越性能&am…

交易-软件科技股F4(kafka、NET、snow、MongoDB)

先上结论&#xff0c;这四家公司本人是经过总结后&#xff0c;比较推荐的公司&#xff0c;可以各买10% Cloudflare, Inc. (代码: NET) 全球内容分发网络&#xff08;CDN&#xff09;&#xff1a;Cloudflare通过其遍布全球的CDN优化内容的交付速度和可靠性。 DDoS攻击防护&…

一份重要数据,科技公司和ai的相关度,MongoDB和GitLab在列

高盛研究员总结的和ai高度相关的公司&#xff1a; Meta Platforms, Inc. ( META ) - 预期市盈率&#xff1a;19 倍&#xff1b;对 AI 的敏感度&#xff1a;5.7 MongoDB, Inc. ( MDB ) - 预期市盈率&#xff1a;99 倍&#xff1b;对 AI 的敏感度&#xff1a;5.3 Intuit Inc. (…

子数组问题

目录 最大子数组和 环形子数组的最大和 乘积最大子数组 乘数为正数的最长子数组长度 等差数列划分 最长湍流子数组 单词拆分 环绕字符串中唯一的子字符串 声明&#xff1a;接下来主要使用动态规划来解决问题&#xff01;&#xff01;&#xff01; 最大子数组和 题目 …

优化理论——迭代方法

线性回归建模 训练&#xff0c;预测 { ( x ( i ) , y ( i ) ) } \{(x^{(i)},y^{(i)})\} {(x(i),y(i))} ⼀个训练样本&#xff0c; { ( x ( i ) , y ( i ) ) ; i 1 , ⋯ , N } \{(x^{(i)},y^{(i)});i1,\cdots ,N\} {(x(i),y(i));i1,⋯,N} 训练样本集 { ( x 1 ( i ) , x 2 ( i…

Linux 扩展硬盘容量

根分区的硬盘容量不够了需要添加容量 扩展硬盘容量前提是需要虚拟机关机才能进行以下操作 在虚拟中找到虚拟机设置 >> 点击硬盘 >> 选择扩展 >> 输入自已要扩展的大小 >> 确定 这些设置好之后&#xff0c;启动虚拟机 fdisk /dev/sda n p 三个回车…

09、java程序流程控制之一:顺序结构、分支语句(if-else结构)(经典案例以及Scanner类的使用)

java程序流程控制之一&#xff1a; Ⅰ、顺序结构&#xff1a;1、顺序结构简介&#xff1a; Ⅱ、分支语句&#xff1a;if-else1、if-else分支结构&#xff1a;其一、描述&#xff1a;其二、代码为&#xff1a;其三、截图为&#xff1a; 2、如何从键盘获取不同类型的变量&#xf…

Mac Dock栏多屏幕漂移固定的方式

记录一下 我目前的版本是 14.5 多个屏幕&#xff0c;Dock栏切换的方式&#xff1a; 把鼠标移动到屏幕的中间的下方区域&#xff0c;触到边边之后&#xff0c;继续往下移&#xff0c;就能把Dock栏固定到当前屏幕了。

你所不知道的关于AI的27个冷知识——AI的伦理问题

AI的伦理问题 亲爱的朋友们,今天我们要探讨一个充满哲理与挑战的话题,那就是人工智能(AI)的伦理问题。想象一下,AI就像是一位超级英雄,拥有无尽的力量和智慧,但如果不加以规范和引导,它也可能成为一位不受控制的“反派”。让我们一起走进这个复杂而又有趣的世界,看看…

pytorch 是如何调用 cusolver API 的调用

0&#xff0c;环境 ubuntu 22.04 pytorch 2.3.1 x86 RTX 3080 cuda 12.2 1, 示例代码 以potrs为例&#xff1b; hello_cholesk.py """ hello_cholesky.py step1, Cholesky decompose; step2, inverse A; step3, Cholesky again; python3 hello_cholesky.py -…

【Hot100】LeetCode—155. 最小栈

目录 题目1- 思路2- 实现⭐155. 最小栈——题解思路 3- ACM 实现 题目 原题连接&#xff1a;155. 最小栈 1- 思路 思路 最小栈 ——> 借助两个栈来实现 2- 实现 ⭐155. 最小栈——题解思路 class MinStack {Stack<Integer> data;Stack<Integer> min;public …

sqlite3 — DB-API 2.0 interface for SQLite databases

sqlite3 — DB-API 2.0 interface for SQLite databases — Python 3.12.4 documentation sqlite3 — DB-API 2.0 interface for SQLite databasessqlite3 — SQLite数据库的DB-API 2.0接口 Source code: Lib/sqlite3/ 源代码位置&#xff1a;Lib/sqlite3/ SQLite is a C…

JVM系列 | 对象的创建与存储

JVM系列 | 对象的生命周期1 对象的创建与存储 文章目录 前言对象的创建过程内存空间的分配方式方式1 | 指针碰撞方式2 | 空闲列表 线程安全问题 | 避免空间冲突的方式方式1 | 同步处理&#xff08;加锁)方式2 | 本地线程分配缓存 对象的内存布局Part1 | 对象头Mark Word类型指针…