区间dp算法

最长回文子序列

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

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

示例 1:

复制代码
输入:s = "bbbab"
输出:4
解释:一个可能的最长回文子序列为 "bbbb" 。

示例 2:

复制代码
输入:s = "cbbd"
输出:2
解释:一个可能的最长回文子序列为 "bb" 。

提示:

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

class Solution {

public int longestPalindromeSubseq(String s) {

int\[\]\[\] dp = new ints.length()s.length();

for (int i = s.length() - 1; i >= 0 ; i--) {

dpii = 1;

for (int j = i; j < s.length(); j++) {

if(i < j){

if(s.charAt(i) == s.charAt(j))

dpij = dpi + 1j - 1 + 2;

else

dpij = Math.max(dpi + 1j , dpij - 1);

}

}

}

return dp0s.length() - 1;

}

}

相关推荐
Highcharts.js8 分钟前
可视化商用图表库对比,如何选择?
前端·javascript·学习·信息可视化·highcharts·前端可视化
Godspeed Zhao16 分钟前
现代智能雷达技术19——算法(5)
算法
(Charon)18 分钟前
【C++面试】RAII到底是什么:从资源管理理解C++对象生命周期
c++·算法·面试
AC赳赳老秦23 分钟前
OpenClaw 与 FineBI 联动方案:公开数据自动采集与实时业务分析看板实践
大数据·开发语言·python·php·finebi·deepseek·openclaw
Omics Pro26 分钟前
之江实验室NAR|虚拟细胞3阶段训练范式
数据库·人工智能·算法·机器学习·自然语言处理
通信瓦工27 分钟前
OCP 冷却环境与冷却剂分配单元(CDU)子项目
java·开发语言
Tisfy32 分钟前
LeetCode 0678.有效的括号字符串:O(n)+O(1)一次遍历
算法·leetcode·字符串·题解·贪心·括号匹配
小O的算法实验室37 分钟前
IEEE TEVC,学习辅助的搜索路径重构进化算法
学习·算法·重构
Liuchang091141 分钟前
洛谷 P2670 [NOIP 2015 普及组] 扫雷游戏
c++·算法·游戏
坤坤子吖1 小时前
Python基础语法学习:函数
开发语言·笔记·python·学习