力扣1035. 不相交的线

力扣1035. 不相交的线_第1张图片
  • 本质上还是求两个字符串的最长子序列,因为每个子序列也是控制了字母的前后顺序,永远不会相交。
class Solution {
public:
    int maxUncrossedLines(vector<int>& A, vector<int>& B) {
        int m=A.size(),n=B.size();
        vector<vector<int>> dp(m+1,vector<int>(n+1,0));
        int res=0;
        for(int i=1;i<=m;i++)
            for(int j=1;j<=n;j++)
            {
                if(A[i-1]==B[j-1])
                    dp[i][j]=dp[i-1][j-1]+1;
                else
                    dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
                    
                res=max(res,dp[i][j]);
            }

        return res;
    }
};

你可能感兴趣的:(leetcode)