题目

给两个整数数组A和B,返回两个数组中公共的、长度最长的子数组的长度。
image.png

思路

思路一:暴力法

见代码

代码

暴力法

  1. class Solution:
  2. def findLength(self, A: List[int], B: List[int]) -> int:
  3. # 暴力
  4. maxCommonSublistLen = 0
  5. for i in range(0, len(A)):
  6. for j in range(0, len(B)):
  7. k = 1
  8. while i+k <= len(A) and j + k <= len(B) and A[i:i+k] == B[j:j+k]:
  9. k += 1
  10. maxCommonSublistLen = max(k-1, maxCommonSublistLen)
  11. if maxCommonSublistLen in (len(A), len(B)):
  12. return maxCommonSublistLen
  13. return maxCommonSublistLen