力扣刷题记录122.1-----1035. 不相交的线

目录

  • 一、题目
  • 二、代码
  • 三、运行结果


一、题目

力扣刷题记录122.1-----1035. 不相交的线_第1张图片
力扣刷题记录122.1-----1035. 不相交的线_第2张图片

二、代码

class Solution 
{
public:
    int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) 
    {
        int i,j;
        int return_int=0;
        vector<vector<int>> dp(nums1.size(),vector<int>(nums2.size(),0));
        for(i=0;i<nums1.size();i++)
        {
            for(j=0;j<nums2.size();j++)
            {
                if(i>=1&&j>=1)
                {
                    dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
                    if(nums1[i]==nums2[j])  dp[i][j]=max(dp[i][j],dp[i-1][j-1]+1);
                }
                else if(i==0&&j!=0)
                {
                    if(nums1[i]==nums2[j]) dp[i][j]=1;
                    else dp[i][j]=dp[i][j-1];
                }
                else if(i!=0&&j==0)
                {
                    if(nums1[i]==nums2[j]) dp[i][j]=1;
                    else dp[i][j]=dp[i-1][j];
                }
                else
                {
                    if(nums1[i]==nums2[j]) dp[i][j]=1;
                }
 
                if(dp[i][j]>return_int)  return_int=dp[i][j];

            }

        }

        return return_int;
    }
};

三、运行结果

力扣刷题记录122.1-----1035. 不相交的线_第3张图片

你可能感兴趣的:(#,leetcode,动态规划,算法)