leetcode 1035. 不相交的线
Posted 深林无鹿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 1035. 不相交的线相关的知识,希望对你有一定的参考价值。
这里有leetcode题集分类整理!!!
题目难度:中等
题目描述:
解题思路:
最经典的动态规划, 在遍历的时候情况分为:
- 两个数相等,直接更新
- dp[i][j] = dp[i - 1][j - 1] + 1;
- 两个数不相等,更新dp取决下面两种情况的最大值
- dp[i][j] = dp[i - 1][j];
- dp[i][j] = dp[i][j - 1];
code:
class Solution {
public int maxUncrossedLines(int[] nums1, int[] nums2) {
int n = nums1.length, m = nums2.length;
int[][] dp = new int[n + 1][m + 1];
for (int i = 1; i <= n; i ++) {
int num1 = nums1[i - 1];
for (int j = 1; j <= m; j ++) {
int num2 = nums2[j - 1];
if (num1 == num2) {
dp[i][j] = dp[i - 1][j - 1] + 1;
} else {
dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
}
}
}
return dp[n][m];
}
}
以上是关于leetcode 1035. 不相交的线的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode篇:1035 不相交的线(JavaScript版)