抖音小程序定制开发,搜索引擎优化员简历,镇江做网站多少钱,在门户网站上爆光怎么做代码随想录算法训练营Day59|动态规划17 文章目录 代码随想录算法训练营Day59|动态规划17一、647. 回文子串二、516.最长回文子序列 一、647. 回文子串
class Solution {public int countSubstrings(String s) {boolean[][] dp new boolean[s.length()][s.length()];int res …
代码随想录算法训练营Day59|动态规划17
文章目录
代码随想录算法训练营Day59|动态规划17
一、647. 回文子串
二、516.最长回文子序列
一、647. 回文子串
classSolution{publicintcountSubstrings(String s){boolean[][] dp =newboolean[s.length()][s.length()];int res =0;for(int i = s.length()-1; i >=0; i--){for(int j = i; j < s.length(); j++){if(s.charAt(i)== s.charAt(j)&&(j - i <=1|| dp[i +1][j -1])){res++;dp[i][j]=true;}}}return res;}}
二、516.最长回文子序列
classSolution{publicintlongestPalindromeSubseq(String s){int len = s.length();int[][] dp =newint[len +1][len +1];for(int i = len -1; i >=0; i--){// 从后往前遍历 保证情况不漏dp[i][i]=1;// 初始化for(int j = i +1; j < len; j++){if(s.charAt(i)== s.charAt(j)){dp[i][j]= dp[i +1][j -1]+2;}else{dp[i][j]=Math.max(dp[i +1][j],Math.max(dp[i][j], dp[i][j -1]));}}}return dp[0][len -1];}}