解题步骤:
参考代码:
class Solution {
public:int numDistinct(string s, string t) {int n=s.size();int m=t.size();//多开一行,多开一列vector<vector<double>> dp(m+1,vector<double>(n+1));for(size_t j=0;j<=n;j++){dp[0][j]=1;//初始化}//字符串引入空格调整下标对应关系s=' '+s;t=' '+t;//填表for(size_t i=1;i<=m;i++){for(size_t j=1;j<=n;j++){dp[i][j]+=dp[i][j-1];if(t[i]==s[j]){dp[i][j]+=+dp[i-1][j-1];}}}//返回值return dp[m][n];}
};
你学会了吗???