代码随想录算法训练营day55 392.判断子序列 115.不同的子序列

题目链接392.判断子序列

复制代码
class Solution {
    public boolean isSubsequence(String s, String t) {
        int length1 = s.length();
        int length2 = t.length();
        int[][] dp = new int[length1+1][length2+1];
        for(int i = 1; i <= length1; i++){
            for(int j = 1; j <=length2; 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[length1][length2] == length1 ? true:false; 
    }
}

题目链接不同的子序列

复制代码
class Solution {
    public int numDistinct(String s, String t) {
        int length1 = s.length();
        int length2 = t.length();
        int[][] dp = new int[length1+1][length2+1];
        for(int i = 0; i <= length1; i++){
            dp[i][0] = 1;
        }
        for(int i =1; i <= length1; i++){
            for(int j =1; j <=length2; 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[length1][length2];
    }
}
相关推荐
Yzzz-F7 分钟前
牛客小白月赛127 E
算法
大锦终10 分钟前
递归回溯综合练习
c++·算法·深度优先
Keep__Fighting20 分钟前
【神经网络的训练策略选取】
人工智能·深度学习·神经网络·算法
晚风吹长发30 分钟前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
sin_hielo30 分钟前
leetcode 3453(二分法)
算法
风之歌曲1 小时前
c++高精度模板
c++·算法·矩阵
嵌入式进阶行者2 小时前
【算法】深度优先搜索实例:华为OD机考双机位A卷- 中庸行者
c++·算法·华为od·深度优先
a3535413822 小时前
参数化曲线弧长公式推导
算法
不知名XL2 小时前
day27 贪心算法 part05
算法·贪心算法
Tisfy2 小时前
LeetCode 3047.求交集区域内的最大正方形面积:2层循环暴力枚举
算法·leetcode·题解·模拟·枚举·几何