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

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

示例 1:

输入:s = “bbbab”
输出:4
解释:一个可能的最长回文子序列为 “bbbb” 。
示例 2:

输入:s = “cbbd”
输出:2
解释:一个可能的最长回文子序列为 “bb” 。

提示:

1 <= s.length <= 1000
s 仅由小写英文字母组成

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-palindromic-subsequence
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路:看注释

class Solution {public int longestPalindromeSubseq(String s) {int n = s.length();int[][] dp = new int[n][n];//我们设定,dp(i,j)为从i到j字符串s的最长回文串for(int i=n-1;i>=0;i--){//一个字符串一定是回文 dp[i][i] = 1;char ch1 = s.charAt(i);for(int j=i+1;j<n;j++){char ch2 = s.charAt(j);//如果两个字符串相等,那么我们拿到dp(i+1,j-1)中最长的回文子串加上2if(ch1 == ch2){dp[i][j] = dp[i+1][j-1]+2;}else{//如果不相等,那么我们此时要获得的是dp(i,j)的长度,这个长度怎么来,自然是dp(i+1,j)或者dp(i,j-1)dp[i][j] = Math.max(dp[i+1][j],dp[i][j-1]);}}}return dp[0][n-1];}
}

最长回文子序列java相关推荐

  1. 最长回文子序列 java

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

  2. JAVA:实现LongestPalindromicSubsequence最长回文子序列算法(附完整源码)

    JAVA:实现LongestPalindromicSubsequence最长回文子序列算法 package com.thealgorithms.dynamicprogramming; public c ...

  3. java最长回文子序列_在一个字符串里面怎么找出最长回文子序列长度

    回文字符串是什么?类似于level,noon,abbba这种,就是从左读和从右读都是同一个字符串.... 先说一下我的思路: 比如现在有字符串:"12212321" 1,先在每个字 ...

  4. java最长回文子序列_算法--字符串:最长回文子序列

    转自:labuladong公众号 子序列问题是常见的算法问题,而且并不好解决. 首先,子序列问题本身就相对子串.子数组更困难一些,因为前者是不连续的序列,而后两者是连续的,就算穷举都不容易,更别说求解 ...

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

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

  6. 算法62---最长回文子序列长度(子串)、回文子序列总共个数(子串)【动态规划】...

    参考链接:https://www.cnblogs.com/AndyJee/p/4465696.html 一.题目:最长回文子序列长度 给定字符串,求它的最长回文子序列长度.回文子序列反转字符顺序后仍然 ...

  7. 【代码训练营】day56 | 647. 回文子串 516.最长回文子序列

    所用代码 java 回文子串 LeetCode 647 题目链接:回文子串 LeetCode 647 - 中等 思路 dp[i] [j]:[i, j]子串是否是回文子串,是回文就是true 递推公式: ...

  8. 最长回文子序列[经典动归二类--开头结尾双循环 + 状态压缩]

    动归二类--开头结尾双循环+状态压缩 前言 一.最长回文子序列 二.动归二类+状态压缩 总结 参考文献 前言 动态规划三类,一类O(n)动归:二类O(nn)开头结尾双循环动归:三类O(nn)背包式动归 ...

  9. 动态数组怎么定义_动态规划最长回文子序列

    动态规划|最长回文子序列 今天一起来学习Leetcode第 516 题:最长回文子序列. 题目描述 题目分析 首先回文字符串指的是形如"a","aa",''ab ...

最新文章

  1. 如何用原生js替换字符串中的某个字符(或字符串)为指定的字符串?
  2. 航天智慧物流创意组-技术培训
  3. JavaScript中的继承入门
  4. Android深度探索(卷1)HAL与驱动开发 第四章 源代码的下载和编译 读书笔记
  5. [SPS2010] 使用心得 7 - ebook for Installation
  6. [vue] 说说你对vue的表单修饰符.lazy的理解
  7. LeetCode 841. 钥匙和房间(DFS/BFS)
  8. 揭秘自动驾驶纯视觉算法,探索自动驾驶的未来
  9. java resouce_深入了解 Java Resource Spring Resource
  10. Java服务器上显示图片问题_java,_服务器读取图片到jsp显示问题,java - phpStudy
  11. 关于solaris中 crontab -e 出现数字0的解决办法
  12. 重启nginx后丢失nginx.pid的解决方法
  13. Django2.0中URL的路由机制
  14. 超级计算机燕 排名,特斯拉超级计算机算力全球第五,展现无人驾驶领域野心...
  15. 微信小程序商城毕业设计毕设作品(5)开题报告答辩PPT
  16. 概率论复习笔记【3条件概率】
  17. java 除法运算,向上与向下取整和四舍五入
  18. 文献阅读(2):王昊奋:大规模知识图谱技术
  19. 一个棋牌游戏的服务端开发1
  20. requestPayment:fail parameter error: parameter.non…r.signType should be String instead of Undefined

热门文章

  1. 定时器/计数器使用示例(c语言程序)
  2. JAVA计算机毕业设计宠物用品商城服务系统Mybatis+系统+数据库+调试部署
  3. Linear Regression 吴恩达机器学习实验一(线性回归)
  4. RecyclerView控件的使用及子Item移动居中的实现(TV向)
  5. thinkpad X220i 内存升级
  6. 场效应管N沟道和P沟道判断方法
  7. 大二弱鸡第一次参赛ACM-ICPC
  8. 商品企划VE课程大纲
  9. Taotao Picks Apples HDU - 6406
  10. bzoj1266【AHOI2006】上学路线route