Leetcode 115. 不同的子序列

class Solution {
    //dp[i][j]表示s中前i个字符包含t中前j个字符的个数
    public int numDistinct(String s, String t) {
        int n1 = s.length();
        int n2 = t.length();
        if(n1 < n2) return 0;
        int[][] dp = new int[n1 + 1][n2 + 1];
        for(int i = 0; i <= n1; i++) dp[i][0] = 1;
        for(int i = 1; i <= n1; i++){
            for(int j = 1; j <= n2; 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[n1][n2];
    }
}

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 22:54:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 22:54:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 22:54:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 22:54:05       20 阅读

热门阅读

  1. C++中的string容器的substr()函数

    2023-12-09 22:54:05       36 阅读
  2. mysql语句练习

    2023-12-09 22:54:05       27 阅读
  3. Android Canvas 改变背景颜色

    2023-12-09 22:54:05       39 阅读
  4. 2023年发射卫星列表

    2023-12-09 22:54:05       90 阅读
  5. Django与Ajax

    2023-12-09 22:54:05       34 阅读
  6. Ansible变量是什么?如何实现任务的循环?

    2023-12-09 22:54:05       37 阅读
  7. 为什么我会选择学习Go呢?

    2023-12-09 22:54:05       36 阅读
  8. Linux下的软硬链接

    2023-12-09 22:54:05       38 阅读
  9. Python小技巧1:for循环的if...else条件判断

    2023-12-09 22:54:05       34 阅读
  10. React都有哪些hooks?

    2023-12-09 22:54:05       36 阅读