力扣 -- 1143. 最长公共子序列

力扣 -- 1143. 最长公共子序列_第1张图片

解题步骤:

力扣 -- 1143. 最长公共子序列_第2张图片

力扣 -- 1143. 最长公共子序列_第3张图片

力扣 -- 1143. 最长公共子序列_第4张图片

力扣 -- 1143. 最长公共子序列_第5张图片

参考代码:

class Solution {
public:
    int longestCommonSubsequence(string s1, string s2) {
        int m=s1.size();
        int n=s2.size();
        s1=' '+s1;
        s2=' '+s2;
        vector> dp(m+1,vector(n+1));
        for(int i=1;i<=m;i++)
        {
            for(int j=1;j<=n;j++)
            {
                if(s1[i]==s2[j])
                {
                    dp[i][j]=dp[i-1][j-1]+1;
                }
                else
                {
                    dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
                }
            }
        }
        return dp[m][n];
    }
};

你学会了吗???

你可能感兴趣的:(力扣经典面试题,力扣动态规划,leetcode,算法,职场和发展,数据结构,动态规划,c++,c语言)