leetcode 115 Distinct Subsequences

https://www.cnblogs.com/grandyang/p/4294105.html

不同的子序列:

动态规划,dp[i][j]代表s[0...i]中t[0...j]有的个数。写出矩阵,找规律。

class Solution {
public:
    int numDistinct(string s, string t) {
        int m=s.size(),n=t.size();
        vector<vector<long>> dp(n+1,vector<long>(m+1,0));
        for(int i=0;i<=m;++i) dp[0][i]=1;
        for(int i=1;i<=n;++i) {
            for(int j=1;j<=m;++j) {
                dp[i][j]=dp[i][j-1]+(s[j-1]==t[i-1]?dp[i-1][j-1]:0);
            }
        }
        return dp[n][m];
    }
};
原文地址:https://www.cnblogs.com/LiuQiujie/p/12827220.html