欢迎来到Cefler的博客😁
🕌博客主页:折纸花满衣
🏠个人专栏:题目解析
🌎推荐文章:【LeetCode】winter vacation training
目录
👉🏻最长公共子序列
原题链接:最长公共子序列
mycode:
class Solution {
public:
int longestCommonSubsequence(string text1, string text2) {
// dp[i][j]:表示[0,i]区间和[0,j]区间最长公共子序列的长度
int m = text1.size(),n = text2.size();
vector<vector<int>> dp(m+1,vector<int>(n+1));
//初始化
for(int i = 0;i<m+1;i++) dp[i][0] = 0;
for(int i = 0;i<n+1;i++) dp[0][i] = 0;
int ret = 0;
for(int i = 1;i<=m;i++)
{
for(int j = 1;j<=n;j++)
{
if(text1[i-1]==text2[j-1]) dp[i][j] = dp[i-1][j-1] + 1;
else dp[i][j] = max(dp[i-1][j],dp[i][j-1]);
if(dp[i][j]>ret) ret = dp[i][j];
}
}
return ret;
}
};