一、题目
二、代码
class Solution
{
public:
bool isSubsequence(string s, string t)
{
int i,j;
bool return_bool=0;
vector<vector<int>> dp(s.size(),vector<int>(t.size(),0));
int max_length=0;
for(i=0;i<s.size();i++)
{
for(j=0;j<t.size();j++)
{
if(i>=1&&j>=1)
{
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
if(s[i]==t[j]) dp[i][j]=max(dp[i][j],dp[i-1][j-1]+1);
}
else if(i==0&j!=0)
{
dp[i][j]=dp[i][j-1];
if(s[i]==t[j]) dp[i][j]=1;
}
else if(i!=0&&j==0)
{
dp[i][j]=dp[i-1][j];
if(s[i]==t[j]) dp[i][j]=1;
}
else
{
if(s[i]==t[j]) dp[i][j]=1;
}
if(dp[i][j]>max_length) max_length=dp[i][j];
}
}
if( max_length==s.size() ) return_bool=1;
return return_bool;
}
};