美文网首页
distinct-subsequences

distinct-subsequences

作者: DaiMorph | 来源:发表于2019-07-22 21:03 被阅读0次
  • 状态定义:dp[i][j]代表s[0i-1]中T[0j-1]不同子串的个数。

  • 递推关系式:S[i-1]!= T[j-1]: DP[i][j] = DP[i-1][j] (不选择S中的s[i-1]字符)

  •          S[i-1]==T[j-1]: DP[i][j] = DP[i-1][j-1](选择S中的s[i-1]字符) + DP[i-1][j](不选择S中的s[i-1]字符)
    
  • 初始状态:第0列:DP[i][0] = 1,第0行:DP[0][j] = 0

class Solution {
public:
    int numDistinct(string S, string T) {
        int len=T.length();
        vector<int>dp(len+1,0);
        dp[0]=1;
        for(int i=1;i<=S.length();i++)
        {
            for(int j=min(len,i);j>0;j--)
            {
                if(S[i-1]==T[j-1])dp[j]+=dp[j-1];
            }
        }
        return dp[T.length()];
    }
};

相关文章

  • distinct-subsequences

    https://leetcode.com/problems/distinct-subsequences/给定字符串...

  • distinct-subsequences

    状态定义:dp[i][j]代表s[0i-1]中T[0j-1]不同子串的个数。 递推关系式:S[i-1]!= T[j...

  • 115. 不同的子序列

    题目描述 distinct-subsequences 给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中...

网友评论

      本文标题:distinct-subsequences

      本文链接:https://www.haomeiwen.com/subject/ojjglctx.html