[leetcode]Distinct Subsequences
来源:互联网 发布:java数组的长度单位 编辑:程序博客网 时间:2024/05/28 20:19
class Solution {
public:
int numDistinct(string S, string T) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if (T.empty() || S.empty())
return 0;
vector<vector<int>> f(T.size(), vector<int>(S.size(), 0));
for (size_t i = 0; i < T.size(); ++i)
for (size_t j = 0; j < S.size(); ++j) {
if (j > 0)
f[i][j] = f[i][j - 1];
if (T[i] == S[j]) {
if (i > 0 && j > 0)
f[i][j] += f[i - 1][j - 1];
else if (i == 0 && j >= 0)
f[i][j] += 1;
}
}
return f[T.size() - 1][S.size() - 1];
}
};
public:
int numDistinct(string S, string T) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if (T.empty() || S.empty())
return 0;
vector<vector<int>> f(T.size(), vector<int>(S.size(), 0));
for (size_t i = 0; i < T.size(); ++i)
for (size_t j = 0; j < S.size(); ++j) {
if (j > 0)
f[i][j] = f[i][j - 1];
if (T[i] == S[j]) {
if (i > 0 && j > 0)
f[i][j] += f[i - 1][j - 1];
else if (i == 0 && j >= 0)
f[i][j] += 1;
}
}
return f[T.size() - 1][S.size() - 1];
}
};
- LeetCode Distinct Subsequences
- [LeetCode]Distinct Subsequences
- [Leetcode] Distinct Subsequences *
- [leetcode] Distinct Subsequences
- [LeetCode] Distinct Subsequences
- [Leetcode] Distinct Subsequences
- leetcode 111: Distinct Subsequences
- LeetCode Distinct Subsequences
- [leetcode] Distinct Subsequences
- LeetCode - Distinct Subsequences
- Leetcode:Distinct Subsequences
- [LeetCode]Distinct Subsequences
- [LeetCode] Distinct Subsequences
- [Leetcode]Distinct Subsequences
- [leetcode]Distinct Subsequences
- Leetcode: Distinct Subsequences
- Leetcode: Distinct Subsequences
- [leetcode] Distinct Subsequences
- java基础入门---- LineNumberReader1
- 最长公共子序列(LCS)
- java基础入门----MyLineNumberReader1
- TXT导入到数据库
- oracle 位运算
- [leetcode]Distinct Subsequences
- java基础入门---- MyLineNumberReader2
- ADO 连接access2010的问题
- java 的socket网络编程
- 10.0
- poj 2406 power string(KMP)
- 动态IP和静态IP
- hdu 4757 Tree 南京网络赛 1010
- 做一个优雅的程序员—《程序员修炼之道》读后感