本文主要是介绍动态规划14(Leetcode516最长回文子序列),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
代码:
class Solution {public int longestPalindromeSubseq(String s) {int n = s.length();int[][] dp = new int[n][n];for(int i=n-1;i>=0;i--){dp[i][i] = 1;char c1 = s.charAt(i);for(int j=i+1;j<n;j++){char c2 = s.charAt(j);if(c1==c2){dp[i][j] = dp[i+1][j-1]+2;}else{dp[i][j] = Math.max(dp[i+1][j],dp[i][j-1]);}}}return dp[0][n-1];}
}
这篇关于动态规划14(Leetcode516最长回文子序列)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!