本文主要是介绍刷题训练 day47 | 第九章 动态规划 part15,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目1:
class Solution {public boolean isSubsequence(String s, String t) {int[][] dp = new int[s.length()+1][t.length()+1];for (int i=0;i<s.length();i++){dp[i][0]=0;}for (int j=0;j<t.length();j++){dp[0][j]=0;}for (int i=1;i<=s.length();i++){for (int j=1;j<=t.length();j++){if (s.charAt(i-1)==t.charAt(j-1)){dp[i][j]=dp[i-1][j-1]+1;}else{dp[i][j]=dp[i][j-1];}}}return dp[s.length()][t.length()]==s.length() ? true : false;}
}
题目2:
class Solution {public int numDistinct(String s, String t) {int[][] dp =new int[s.length()+1][t.length()+1];for (int i=0;i<dp.length;i++){dp[i][0]=1;}for (int i=1;i<dp.length;i++){for (int j=1;j<dp[0].length;j++){if (s.charAt(i-1)==t.charAt(j-1)){dp[i][j]=dp[i-1][j-1]+dp[i-1][j];}else{dp[i][j]=dp[i-1][j];}}}return dp[s.length()][t.length()];}
}
这篇关于刷题训练 day47 | 第九章 动态规划 part15的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!