class Solution {
//当当前dp只用到上一行的数据时,可以只用一维dp,且倒序遍历,防止数据被覆盖,
//从后往前代码比价好写
public:
int numDistinct(string S, string T) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int len = T.size();
vector<int>f(len+1,0);
f[len]=1;
for(int i = len-1;i>=0;i--)
{
for(j=0;j<len;j++)
{
if(S[i]==T[j])f[j]+=f[j+1];
}
}
return f[0];
}
};
Leetcode Distinct Subsequences
最新推荐文章于 2016-09-04 20:12:16 发布