一、题目
二、代码
class Solution
{
public int maxUncrossedLines(int[] nums1, int[] nums2)
{
int i,j;
int return_num = 0;
int length_1 = nums1.length;
int length_2 = nums2.length;
int[][] dp = new int[length_1+1][length_2+1];
for(i=1;i<=length_1;i++)
{
for(j=1;j<=length_2;j++)
{
if(nums1[i-1]==nums2[j-1])
{
dp[i][j] = dp[i-1][j-1] +1;
if(return_num<dp[i][j]) return_num = dp[i][j];
}
else
{
dp[i][j] = Math.max(dp[i-1][j],dp[i][j-1]);
if(return_num<dp[i][j]) return_num = dp[i][j];
}
}
}
return return_num;
}
}
三、运行结果