您的位置:首页 > 产品设计 > UI/UE

LC115 Distinct Subsequences

2016-03-13 20:46 344 查看
这种字符串题目,初看不好着手,八成又是动态规划题。用动态数组可以减少空间需求,这里没用。此外注意下第一行的初始化,和平常动归题略有不同。

class Solution {
public:
int numDistinct(string s, string t) {
if(t.size()>s.size()||t=="")
return 0;
int col=s.size()+1;
int row=t.size()+1;
vector<vector<int> > record(row,vector<int>(col,0));
int i,j;
for(j=1;j<col;j++)
if(t[0]==s[j-1])
record[1][j]=record[1][j-1]+1;
else
record[1][j]=record[1][j-1];
for(i=2;i<row;i++)
{
for(j=2;j<col;j++)
{
if(s[j-1]==t[i-1])
record[i][j]=record[i-1][j-1]+record[i][j-1];
else
record[i][j]=record[i][j-1];
}
}
return record[row-1][col-1];
}
};


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: