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

}

}

相关推荐
ai小陈6 分钟前
Python 3.12与CUDA 12.8镜像实战:启动GPU实例后的五项自检
开发语言·人工智能·python·深度学习·ai·gpu算力
沉淀的.晴天17 分钟前
FreeRTOS信号量
数据结构·算法
AZaLEan__28 分钟前
ts接口梳理
开发语言
蓝桉柒729 分钟前
java判断语句
java·开发语言
Lost of 程序猿37 分钟前
M2 实战:询价与采购订单聚合落地——跨聚合一致性、领域事件与 Outbox
开发语言·c#·asp.net·.net
速易达网络40 分钟前
用 Three.js 打造一座会呼吸的海岛:海风之屿飞艇巡航的技术实现
开发语言·javascript·ecmascript
yujunl1 小时前
U9 BE插件的调试
开发语言
青山木1 小时前
Hot 100 --- 打家劫舍
java·数据结构·算法·leetcode·动态规划
牛油果子哥q1 小时前
多模态大模型工程入门:图文Embedding、图文RAG、图片解析、C++多模态接口封装实战
开发语言·c++·embedding
机器学习之心1 小时前
均值、中值、圆周期:三种 InSAR 干涉相位滤波的实测对比与参数取舍
算法·均值算法