Distinct Subsequences
来源:互联网 发布:龙广958网络音乐吧录音 编辑:程序博客网 时间:2024/05/18 13:05
Given a string S and a string T, count the number of distinct subsequences of T in S.
A subsequence of a string is a new string which is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (ie, "ACE"
is a subsequence of "ABCDE"
while "AEC"
is not).
Here is an example:
S = "rabbbit"
, T = "rabbit"
Return 3
.
public class Solution { public int numDistinct(String S, String T) { if (S == null || T == null) return 0; if (T.length() == 0) return 1; if (S.length() == 0) return 0; if (S.length() == 1 && T.length() == 1) { if (S.charAt(0) != T.charAt(0)) { return 0; } else { return 1; } } if (S.charAt(0) != T.charAt(0)) { return numDistinct(S.substring(1), T); } else { return numDistinct(S.substring(1), T.substring(1)) + numDistinct(S.substring(1), T); } }}
OR
public class Solution { public int numDistinct(String S, String T) { int n = S.length(); int m = T.length(); int[] dp = new int[m]; for (int i = 0; i < n; ++i) { for (int j = m-1; j >= 0; --j) { if (T.charAt(j) == S.charAt(i)) { if (j==0) dp[0]++; else dp[j] += dp[j-1]; } } } return dp[m-1]; }}
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- Distinct Subsequences
- The Love of a King——9、The Woman I Love
- Integer to Roman
- 正则表达式排除特定字符串
- UVa 128 - Software CRC
- BAIDU面试题
- Distinct Subsequences
- 屏蔽android软键盘
- Best Time to Buy and Sell Stock III
- Word Search
- 单态模式
- Longest Valid Parentheses
- Blas 基本函数功能
- 和菜鸟一起深入学习国嵌实验之gcc分步编译&&gdb调试
- Oracle中merge into的使用