力扣516. 最长回文子序列

动态规划

  • 思路:
    • 字符串最长回文子序列问题可以转换为原字符串 s 和逆串 s' 的最长公共子序列长度问题,具体推断过程可以参考 力扣1312. 让字符串成为回文串的最少插入次数
    • 问题变成了求两个字符串最长公共子序列长度问题,具体思路可以参考 力扣1143. 最长公共子序列
class Solution {
public:int longestPalindromeSubseq(string s) {int n = s.size();std::string invs(s.rbegin(), s.rend());std::vector<std::vector<int>> dp(n + 1, std::vector<int>(n + 1));for (int i = 1; i <= n; ++i) {for (int j = 1; j <= n; ++j) {dp[i][j] = std::max(dp[i - 1][j], dp[i][j - 1]);if (s[i - 1] == invs[j - 1]) {dp[i][j] = std::max(dp[i][j], dp[i - 1][j - 1] + 1);}}}return dp[n][n];}
};

————————————————————

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

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

相关文章

Win32 PE图标资源提取(ICO图标提取)

最近需要写一个提取EXE或者DLL图标资源的功能, 网上找了很久, 要么功能不好用, 最后结果如下: 1.很多是加载为HICON句柄后转换为图片保存, 全损画质..., 2.后来找了个还能用的, 详见 https://github.com/TortoiseGit/TortoiseGit/blob/master/src/Utils/IconExtractor.cpp …

cenos8.5快速部署开发环境(LAMP)

Apache 安装apache yum -y install httpd httpd-manual mod_ssl mod_perl 重启服务&#xff0c;设置自启动 systemctl start httpd systemctl enable httpd 查看apache运行状态 systemctl status httpd MySQL 下载MySQL wget http://dev.mysql.com/get/mysql57-community-re…

第十二届“中关村青联杯”全国研究生数学建模竞赛-D题:面向节能的单/多列车优化决策问题

目录 摘 要: 1 问题重述 1.1 问题背景 1.2 本文所需解决的问题 2 问题假设

前端——HTML

目录 文章目录 前言 一.HTML的基本标签 二.HTML标签 1.块级标签 1.1块级标签特征 1.2标题标签 ​编辑 1.3 水平线标签 1.4 段落标签 1.5 无序列表标签 1.6 有序列表标签 1.7 表格标签 1.8层标签 1.9 表单 2. 行级标签 2.1行级标签特征 2.2图像标签 2.3 范围…

阿里云云数据库RDS

1. 请简述阿里云云数据库RDS的主要特点和优势&#xff1f; 阿里云云数据库RDS的主要特点和优势包括高可用性、强大的扩展性、性能优化、灵活的备份与恢复功能以及专业的技术支持等。 具体来说&#xff0c;以下是阿里云RDS的一些关键优势&#xff1a; 高可用性和可靠性&#…

Leetcode刷题笔记题解(C++):1971. 寻找图中是否存在路径

思路&#xff1a; 1.建立图集&#xff0c;二维数组&#xff0c;path[0]里面存放的就是与0相连的节点集合 2.用布尔数组来记录当前节点是否被访问过&#xff0c;深度优先会使用到 3.遍历从起点开始能直接到达的点&#xff08;即与起点相邻的点&#xff09;&#xff0c;判断那…

Centos9使用chrony服务同步时间

安装chrony命令 Centos9里是预安装的&#xff0c;没有安装的话执行以下命令&#xff1a; yum install -y chronyCentos9 时间同步要使用chrony命令&#xff0c;ntp命令没有了 查看状态 #启用chronyd服务 systemctl enable chronyd#重启chronyd服务 systemctl restart chron…

操作系统(5)-----操作系统进程相关

目录 一.进程的组成 1.PCB&#xff08;进程控制块&#xff09; 2.程序段与数据段 二.进程的特征 三.进程的状态以及状态的转换 四.进程的组织 1.链接方式 2.索引方式 五.进程控制 六.进程控制相关原语 1.创建原语 2.撤销原语 3.阻塞原语 4.唤醒原语 5.切换原语 …

Elasticsearch8.11集群部署

集群就是多个node统一对外提供服务&#xff0c;避免单机故障带来的服务中断&#xff0c;保证了服务的高可用&#xff0c;也因为多台节点协同运作&#xff0c;提高了集群服务的计算能力和吞吐量。ES是一个去中心化的集群&#xff0c;操作一个节点和操作一个集群是一样的&#xf…

git删除本地分支,拉取远程分支到本地新分支

删除本地Git分支的过程相对简单。以下是在命令行中执行此操作的步骤&#xff1a; 切换到一个不同的分支&#xff1a; 在删除一个分支之前&#xff0c;你需要确保自己不在那个分支上。通常&#xff0c;你可以切换到主分支或其他任何分支。例如&#xff0c;要切换到主分支&#x…

【Linux】-同步互斥的另一种办法-信号量

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

JVM系列——基础知识

Java运行区域 程序计数器&#xff08;Program Counter Register&#xff09; 程序计数器是一块较小的内存空间&#xff0c;它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里[1]&#xff0c;字节码解释器工作时就是通过改变这个计数器的值来选取下一…

PCIE 4.0 Equalizaiton(LTSSM 均衡流程)

1. 均衡 在Tx端有FFE&#xff08;Feed Forward Equalizer&#xff0c;前馈均衡器&#xff09;&#xff1b;在Rx端有&#xff1a;CTLE&#xff08;Continuous Time Linear Equalizer&#xff0c;连续时间线性均衡器&#xff09;和DFE&#xff08;Decision Feedback Equalizer&a…

HarmonyOS 鸿蒙应用开发 (七、HTTP网络组件 axios 介绍及封装使用)

在HarmonyOS应用开发中&#xff0c;通过HTTP访问网络&#xff0c;可以使用官方提供的ohos.net.http模块。但是官方提供的直接使用不太好使用&#xff0c;需要封装下才好。推荐使用前端开发中流行的axios网络客户端库&#xff0c;如果是前端开发者&#xff0c;用 axios也会更加顺…

Conan2: starting at a text book example

“From using libraries already packaged by Conan, to how to package your libraries and store them in a remote server alongside all the precompiled binaries.” Clone the sources of this example project from github, and open the simple_cmake_project directo…

MySQL 运算符BETWEEN.NOT. BETWEEN.IN.NOT IN

MySQL 运算符 本章节我们主要介绍 MySQL 的运算符及运算符的优先级。 MySQL 主要有以下几种运算符&#xff1a; 算术运算符 MySQL 支持的算术运算符包括: 运算符作用加法–减法*乘法/ 或 DIV除法% 或 MOD取余 在除法运算和模运算中&#xff0c;如果除数为0&#xff0c;将是…

MySQL封装JDBC为工具类(JDBC简化)

1&#xff1a;在我们对一个表的增删改查中我们可以发现&#xff0c;如果一个表要进行增删改查四个操作时&#xff0c;我们可能要四个方法&#xff0c;四个方法中每一个方法都需要进行JDBC的连接&#xff0c;如果每一步都按照JdbcTemplate方式写的话可能会简化一点&#xff0c;但…

【GitHub项目推荐--推荐一个开源的任务管理工具(仿X书/X钉)】【转载】

推荐一个开源的任务管理工具&#xff0c;该工具会提供各类文档协作功能、在线思维导图、在线流程图、项目管理、任务分发、即时 IM&#xff0c;文件管理等等。该开源项目使用到 Vue、Element-UI、ECharts 等技术栈。 开源地址&#xff1a;www.github.com/kuaifan/dootask 预览地…

Ribbon 体系架构解析

前面已经介绍了服务治理相关组件&#xff0c;接下来趁热打铁&#xff0c;快速通关Ribbon&#xff01;前面我们了解了负载均衡的含义&#xff0c;以及客户端和服务端负载均衡模型&#xff0c;接下来我们就来看下SpringCloud 下的客户端负载均衡组件Ribbon 的特点以及工作模型。 …

【Linux】从C语言文件操作 到Linux文件IO | 文件系统调用

文章目录 前言一、C语言文件I/O复习文件操作&#xff1a;打开和关闭文件操作&#xff1a;顺序读写文件操作&#xff1a;随机读写stdin、stdout、stderr 二、承上启下三、Linux系统的文件I/O系统调用接口介绍open()close()read()write()lseek() Linux文件相关重点 复习C文件IO相…