093:最长重复子数组
LeetCode 718 https://leetcode.cn/problems/maximum-length-of-repeated-subarray/description/ 难度:中等 高频面试题汇总:https://www.yuweihung.com/posts/2025/lc-hot/ 类似最长公共子序列,这题是求连续子数组。定义 f[i+1][j+1] 表示以 nums1[i] 结尾的子数组和以 nums2[j] 结尾的子数组的最长公共子数组的长度。 如果 nums1[i] != nums2[j],那么 f[i+1][j+1]=0。 如果 nums1[i] == nums2[j],那么问题变成以 nums1[i−1] 结尾的子数组和以 nums2[j−1] 结尾的子数组的最长公共子数组的长度,即 f[i+1][j+1]=f[i][j]+1。相当于在以 nums1[i−1] 结尾的子数组后面添加 nums1[i],在以 nums2[j−1] 结尾的子数组后面添加 nums2[j]。 初始值:f[0][j]=f[i][0]=0,空子数组没有公共部分。 答案:所有 f[i][j] 的最大值。 时间复杂度:O(nm),其中 n 是 nums1 的长度,m 是 nums2 的长度。 空间复杂度:O(nm)。 ...