力扣115题Java

简介: 力扣115题Java

题目

给定一个字符串 s 和一个字符串 t ,计算在 s 的子序列中 t 出现的个数。

字符串的一个 子序列 是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,“ACE” 是 “ABCDE” 的一个子序列,而 “AEC” 不是)

题目数据保证答案符合 32 位带符号整数范围。

代码

class Solution {

   public int numDistinct(String s, String t) {

       int n = s.length(), m = t.length();

       if (n < m)//s长度小于t,个数为0

           return 0;

       char[] cs = s.toCharArray(), ct = t.toCharArray();

       int[][] dp = new int[n + 1][m + 1];//s[i,n]子序列中t[j,m]子串出现的个数

       for (int i = 0; i <= n; i++) {

           for (int j = 0; j <= m; j++)

               dp[i][j] = 0;

           dp[i][m] = 1;//s对空字符串都有1种取法

       }

       for (int i = n - 1; i >= 0; i--) {

           int range = Math.max(0, m - n + i);//剪枝j的取值范围

           for (int j = m - 1; j >= range; j--) {

               dp[i][j] = dp[i + 1][j];//不选取i的情况

               if (cs[i] == ct[j]) //选取i的情况

                   dp[i][j] += dp[i + 1][j + 1];

           }

       }

       return dp[0][0];

   }

}

相关文章
|
4天前
|
算法 Java
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
[Java·算法·简单] LeetCode 27. 移除元素 详细解读
27 1
|
4天前
|
算法 Java C语言
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
|
4天前
|
算法 Java
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
[Java·算法·简单] LeetCode 13. 罗马数字转整数 详细解读
25 0
|
4天前
|
算法 Java
[Java·算法·简单] LeetCode 392. 判断子序列 详细解读
[Java·算法·简单] LeetCode 392. 判断子序列 详细解读
42 0
|
4天前
|
存储 canal 算法
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
[Java·算法·简单] LeetCode 125. 验证回文串 详细解读
30 0
|
4天前
|
算法 Java
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
[Java·算法·简单] LeetCode 28. 找出字符串中第一个匹配项的下标 详细解读
28 0
|
4天前
|
算法 Java
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
[Java·算法·简单] LeetCode 14. 最长公共前缀 详细解读
22 0
|
4天前
|
算法 Java 索引
[Java·算法·简单] LeetCode 141. 环形链表 详细解读
[Java·算法·简单] LeetCode 141. 环形链表 详细解读
29 0
|
4天前
|
存储 算法 Java
[Java·算法·简单] LeetCode 383. 赎金信 详细解读
[Java·算法·简单] LeetCode 383. 赎金信 详细解读
25 0
|
4天前
|
算法 Java
[Java·算法·简单] LeetCode 9. 回文数 详细解读
[Java·算法·简单] LeetCode 9. 回文数 详细解读
23 0

热门文章

最新文章