题目描述
给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。
题解
题解可以直接看网友的,这里就不多说了
执行用时:45 ms, 在所有 Java 提交中击败了73.19%的用户 内存消耗:46.9 MB, 在所有 Java 提交中击败了69.50%的用户
class Solution {
public int findLength(int[] nums1, int[] nums2) {
int res = 0;
int row = nums1.length;
int col = nums2.length;
int[][] dp = new int[row + 1][col + 1];
for (int i = 1; i < row + 1; i++) {
for (int j = 1; j < col + 1; j++) {
if (nums1[i - 1] == nums2[j - 1]) {
dp[i][j] = dp[i - 1][j - 1] + 1;
}
else {
dp[i][j] = 0;
}
res = Math.max(dp[i][j], res);
}
}
return res;
}
}