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. 最长回文子序列(动态规划)相关推荐

  1. 120. Leetcode 516. 最长回文子序列 (动态规划-子序列问题)

    步骤一.确定状态: 确定dp数组及下标含义 dp[i][j]表示的是字符串s在[i, j]范围内最长的回文子序列的长度为dp[i][j] 步骤二.推断状态方程: 如果当前的s[i] == s[j], ...

  2. leetcode - 516. 最长回文子序列

    516. 最长回文子序列 -------------------------------------------- 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 ...

  3. Java实现 LeetCode 516 最长回文子序列

    516. 最长回文子序列 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 1: 输入: "bbbab" 输出: 4 一个可能的最长回文子序列为 ...

  4. Leetcode 516.最长回文子序列

    Time: 20190906 Type: Medium 题目描述 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 1: 输入: "bbbab" ...

  5. LeetCode.516 最长回文子序列 详解

    题目详情 给定一个字符串s,找到其中最长的回文子序列.可以假设s的最大长度为1000. 示例 1: 输入: "bbbab" 输出: 4 一个可能的最长回文子序列为 "bb ...

  6. LeetCode 516. 最长回文子序列

    截止到目前我已经写了 500多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载 下载链接:https://pan.baidu.com/s/1hj ...

  7. 【Leetcode】516. 最长回文子序列

    516. 最长回文子序列 题目描述 解题思路:动态规划 题目描述 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度.子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任 ...

  8. 代码随想录补打卡 647 回文子串 516 最长回文子序列

    647 回文子串 代码如下 func countSubstrings(s string) int {    //dp[i][j]数组的含义是i-j这个范围的元素是否为回文串 dp := make([] ...

  9. 【Leetcode刷题Python】516. 最长回文子序列

    1 题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度. 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列. 示例 1: 输入:s = &q ...

最新文章

  1. Linux纯脚本故障转移集群
  2. ASP.NET4.0中客户端ID的生成
  3. Java:ChronicleMap第3部分,快速微服务
  4. mysql 查询一个月的时间_mysql日期查询sql语句总结(查询一天,查询一周,查询一个月的数据)...
  5. Jeecg-Boot使用war包在Tomcat中部署之参考教程
  6. 软件测试 给视频添加字幕功能,巧用百度OCR文字识别技术,实现视频字幕识别...
  7. ros中订阅/map话题,获取地图尺寸,获取机器人原点origin,获取地图分辨率resolution (c++,python,waitForMessage,wait_for_message)
  8. Android adb不是内部或外部命令 问题解决
  9. [Linux]Linux man命令的使用方法
  10. 测试面试题集锦(一)| 软件测试常见必考问题与流程篇(附答案)
  11. 3.28Javase笔记day01
  12. Java基础之二维数组
  13. ios objective-c将base64位编码字符串转换成图片
  14. 如何自己建网站,免费自助建站系统平台哪个最好?
  15. 三星公佈Bixby2.0升級後比蘋果更酷
  16. python实现人脸口罩检测(基于opencv和深度学习两种方法)
  17. 关于矩阵胶囊与EM路由的理解(基于Hinton的胶囊网络)
  18. Linux的TCP连接数量最大不能超过65535个吗,那服务器是如何应对百万千万的并发的?
  19. vme嵌入式软件linux,基于VME总线嵌入式Linux应用研究.pdf
  20. Unity2D入门1 简单角色移动与动画 基础

热门文章

  1. Git常用指令及功能总结
  2. vue 鼠标点击事件_VBA代码解决方案第115讲:点击鼠标实现精准控制触发事件的VBA代码第二方案...
  3. 以太网,局域网,万维网
  4. linux内核的I2C子系统详解1——I2C总线概览、驱动框架概览
  5. LeetCode43——Multiply Strings(两个字符串表示的整数相乘)???
  6. python 文件操作练习
  7. stopping hbasecat: /tmp/hbase-elastic-master.pid: 没有那个文件或目录
  8. cmd导入mysql文件
  9. Google C++编程风格指南(一):背景
  10. HTML DOM content 属性