网站的制作步骤,wordpress企业主题 免费,WordPress说说心情,西安注册公司流程及资料***给定一个字符串 s #xff0c;找到其中最长的回文子序列#xff0c;并返回该序列的长度。***可以假设 s 的最大长度为 1000 。
示例 1: 输入: “bbbab” 输出: 4 一个可能的最长回文子序列为 “bbbb”。
解题思路
数组含义#xff1a;dp[i][j]子串#xff08;i#…***给定一个字符串 s 找到其中最长的回文子序列并返回该序列的长度。***可以假设 s 的最大长度为 1000 。
示例 1: 输入: “bbbab” 输出: 4 一个可能的最长回文子序列为 “bbbb”。
解题思路
数组含义dp[i][j]子串ij的最长的回文子序列 状态转移 1.dp[i][j]dp[i-1][j1]2增加回文数量 2.dp[i][j] Math.max(dp[i-1][j],dp[i][j1])
代码
class Solution {public int longestPalindromeSubseq(String s) {int ns.length(),res0;int[][] dpnew int[n][n];for(int i0;in;i)for(int ji;j0;j--)if(s.charAt(i)s.charAt(j)){if(ij) dp[i][j]1;else dp[i][j]dp[i-1][j1]2;}else dp[i][j] Math.max(dp[i-1][j],dp[i][j1]);return dp[n-1][0];}
}