当前位置:   article > 正文

leetcode 1035. 不相交的线

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];
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/87319
推荐阅读
相关标签
  

闽ICP备14008679号