本文主要是介绍代码随想录算法训练营20期|第五十七天|动态规划part15|● 392.判断子序列 ● 115.不同的子序列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 392.判断子序列
class Solution {public boolean isSubsequence(String s, String t) {int len1 = s.length();int len2 = t.length();int[][] dp = new int[len1 + 1][len2 + 1];for(int i = 1; i <= len1; i++) {for (int j = 1; j <= len2; 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];}}}if (dp[len1][len2] == len1) {return true;} else {return false;}}
}
- 115.不同的子序列
class Solution {public int numDistinct(String s, String t) {int[][] dp = new int[s.length() + 1][t.length() + 1];for (int i = 0; i < s.length() + 1; i++) {dp[i][0] = 1;}for (int i = 1; i < s.length() + 1; i++) {for (int j = 1; j < t.length() + 1; 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()];}
}
这篇关于代码随想录算法训练营20期|第五十七天|动态规划part15|● 392.判断子序列 ● 115.不同的子序列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!