区间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;

}

}

相关推荐
Cobyte7 分钟前
模板 DSL 解析器中的状态机设计
前端·javascript·vue.js
稚南城才子,乌衣巷风流29 分钟前
ST 表(Sparse Table)算法详解:原理、实现与应用
算法
hold?fish:palm34 分钟前
9 找到字符串中所有字母异位词
c++·算法·leetcode
小大宇40 分钟前
python flask框架 SSE流式返回、跨域、报错
开发语言·python·flask
Sw1zzle1 小时前
算法入门(六):贪心算法 - 基础入门(Leetcode 121/455/860/376/738)
算法·leetcode·贪心算法
青山木1 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
柒星栈1 小时前
PHP 源码怎么加密防破解?三套方案实战指南
开发语言·php·android studio
软件开发技术深度爱好者1 小时前
小学英语单词魔法学园HTML5实现
javascript·html5·英语学习
不会就选b1 小时前
算法日常・每日刷题--<归并排序>1
数据结构·算法
勉灬之1 小时前
Next.js + Prisma 跨平台部署踩坑记
开发语言·javascript·ecmascript