
采用二维数组来求解,只返回长度

int lcs(string s1,int n,string s2, int m)
{
int result = 0;
vector<vector<int>> c(n+1,vector<int> (m+1,0));
for (int i = 1; i < n+1; i++)
for (int j = 1; j < m+1; j++)
{
if (s1[i - 1] == s2[j - 1])
{
c[i][j] = c[i-1][j - 1] + 1;
result = max(result, c[i][j]);
}
else c[i][j] = 0;
}
return result;
}
int lcs(string s1,int n,string s2,
