题目链接:115. 不同的子序列 - 力扣(LeetCode)
代码如下:
class Solution {
public:
int numDistinct(string s, string t) {
int len1 = s.size() + 1;
int len2 = t.size() + 1;
int mod = 1e9 + 7;
vector<vector<int> > dp(len1 + 1, vector<int>(len2 + 1));
for(int i = 0; i < len1; i++)
{
dp[i][0] = 1;
}
for(int j = 1; j < len2; j++)
{
dp[0][j] = 0;
}
for(int i = 1; i <= len1; i++)
{
for(int j = 1; j <= len2; j++)
{
if(s[i - 1] == t[j - 1])
{
dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j])%mod;
}
else
{
dp[i][j] = (dp[i - 1][j])%mod;
}
}

最低0.47元/天 解锁文章
839

被折叠的 条评论
为什么被折叠?



