潍坊 营销型网站建设,做前端网站要注意哪些,建立个人网站,常州建设局职称网站***给定一个字符串 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];}
}