题目概述
解题思路
动态规划经典题目,写出递推公式:
方法性能
示例代码
class Solution {
public:
int longestCommonSubsequence(string text1, string text2)
{
int M = text1.size(),
N = text2.size();
if(M * N == 0)
return 0;
int dp[M + 1][N + 1];
int res = 0;
for(int i = 0; i <= M;++i)
{
for(int j = 0; j <= N;++j)
{
if(i == 0 || j == 0)
{
dp[i][j] = 0;
}
else
{
dp[i][j] = max(dp[i-1][j], dp[i][j-1]);
if(text1[i-1] == text2[j-1])
dp[i][j] = max(dp[i-1][j-1] + 1, dp[i][j]);
res = max(dp[i][j], res);
}
}
}
return res;
}
};