LeetCode 516. 最长回文子序列(动态规划)
1. 题目
给定一个字符串s,找到其中最长的回文子序列。可以假设s的最大长度为1000。
示例 1:
输入:
"bbbab"
输出:
4
一个可能的最长回文子序列为 "bbbb"。示例 2:
输入:
"cbbd"
输出:
2
一个可能的最长回文子序列为 "bb"。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
类似题目:
LeetCode 5. 最长回文子串(动态规划)
LeetCode 647. 回文子串(DP)
LeetCode 1216. 验证回文字符串 III(DP)
LeetCode 1312. 让字符串成为回文串的最少插入次数(区间DP)
LeetCode 5688. 由子序列构造的最长回文串的长度(最长回文子序)
注意,子序列,可以隔着字符
class Solution {public:int longestPalindromeSubseq(string s) {int i, j, n = s.size();vector<vector<int>> dp(n,vector<int>(n,0));for(i = 0; i < n; ++i)dp[i][i] = 1;for(j = 0; j < n; ++j){for(i = j-1; i >= 0; --i)//区间从小往大,所以逆序{if(s[i] == s[j])dp[i][j] = dp[i+1][j-1]+2;elsedp[i][j] = max(dp[i+1][j], dp[i][j-1]);}}return dp[0][n-1];}
};
176 ms 67.1 MB
LeetCode 516. 最长回文子序列(动态规划)相关推荐
- 120. Leetcode 516. 最长回文子序列 (动态规划-子序列问题)
步骤一.确定状态: 确定dp数组及下标含义 dp[i][j]表示的是字符串s在[i, j]范围内最长的回文子序列的长度为dp[i][j] 步骤二.推断状态方程: 如果当前的s[i] == s[j], ...
- leetcode - 516. 最长回文子序列
516. 最长回文子序列 -------------------------------------------- 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 ...
- Java实现 LeetCode 516 最长回文子序列
516. 最长回文子序列 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 1: 输入: "bbbab" 输出: 4 一个可能的最长回文子序列为 ...
- Leetcode 516.最长回文子序列
Time: 20190906 Type: Medium 题目描述 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 1: 输入: "bbbab" ...
- LeetCode.516 最长回文子序列 详解
题目详情 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 1: 输入: "bbbab" 输出: 4 一个可能的最长回文子序列为 "bb ...
- LeetCode 516. 最长回文子序列
截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...
- 【Leetcode】516. 最长回文子序列
516. 最长回文子序列 题目描述 解题思路:动态规划 题目描述 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度.子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任 ...
- 代码随想录补打卡 647 回文子串 516 最长回文子序列
647 回文子串 代码如下 func countSubstrings(s string) int { //dp[i][j]数组的含义是i-j这个范围的元素是否为回文串 dp := make([] ...
- 【Leetcode刷题Python】516. 最长回文子序列
1 题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度. 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列. 示例 1: 输入:s = &q ...
最新文章
- Linux纯脚本故障转移集群
- ASP.NET4.0中客户端ID的生成
- Java:ChronicleMap第3部分,快速微服务
- mysql 查询一个月的时间_mysql日期查询sql语句总结(查询一天,查询一周,查询一个月的数据)...
- Jeecg-Boot使用war包在Tomcat中部署之参考教程
- 软件测试 给视频添加字幕功能,巧用百度OCR文字识别技术,实现视频字幕识别...
- ros中订阅/map话题,获取地图尺寸,获取机器人原点origin,获取地图分辨率resolution (c++,python,waitForMessage,wait_for_message)
- Android adb不是内部或外部命令 问题解决
- [Linux]Linux man命令的使用方法
- 测试面试题集锦(一)| 软件测试常见必考问题与流程篇(附答案)
- 3.28Javase笔记day01
- Java基础之二维数组
- ios objective-c将base64位编码字符串转换成图片
- 如何自己建网站,免费自助建站系统平台哪个最好?
- 三星公佈Bixby2.0升級後比蘋果更酷
- python实现人脸口罩检测(基于opencv和深度学习两种方法)
- 关于矩阵胶囊与EM路由的理解(基于Hinton的胶囊网络)
- Linux的TCP连接数量最大不能超过65535个吗,那服务器是如何应对百万千万的并发的?
- vme嵌入式软件linux,基于VME总线嵌入式Linux应用研究.pdf
- Unity2D入门1 简单角色移动与动画 基础
热门文章
- Git常用指令及功能总结
- vue 鼠标点击事件_VBA代码解决方案第115讲:点击鼠标实现精准控制触发事件的VBA代码第二方案...
- 以太网,局域网,万维网
- linux内核的I2C子系统详解1——I2C总线概览、驱动框架概览
- LeetCode43——Multiply Strings(两个字符串表示的整数相乘)???
- python 文件操作练习
- stopping hbasecat: /tmp/hbase-elastic-master.pid: 没有那个文件或目录
- cmd导入mysql文件
- Google C++编程风格指南(一):背景
- HTML DOM content 属性