class Solution {
public:
int numDistinct(string s, string t) {
if (s.empty() || t.empty())
return 0;
vector<vector<int>> dp(s.size(), vector<int>(t.size(), 0));
for (int si = 0; si < s.size(); ++si)
for (int tj = 0; tj < t.size(); ++tj){
if (s[si] == t[tj]){
if (tj == 0)
dp[si][tj] = 1;
else if (si != 0)
dp[si][tj] = dp[si - 1][tj - 1];
}
if (si != 0)
dp[si][tj] += dp[si - 1][tj];
}
return dp[s.size() - 1][t.size() - 1];
}
};
115. Distinct Subsequences
最新推荐文章于 2021-08-15 20:07:33 发布