题目链接:https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray/
难度:中等

描述:
给两个整数数组 nums1nums2 ,返回 两个数组中 公共的 、长度最长的子数组的长度

题解

  1. class Solution:
  2. def findLength(self, nums1: List[int], nums2: List[int]) -> int:
  3. m, n = len(nums1), len(nums2)
  4. r = [[0] * (n+1) for _ in range(m+1)]
  5. # r[i][j]表示nums1[i:], nums2[j:]的最长子数组
  6. ret = 0
  7. for i in range(m-1, -1, -1):
  8. for j in range(n-1, -1, -1):
  9. if nums1[i] == nums2[j]:
  10. r[i][j] = r[i+1][j+1] + 1
  11. ret = max(ret, r[i][j])
  12. return ret