718. 最长重复子数组

    技术2022-07-10  125

    718. 最长重复子数组

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

    示例 1:

    输入: A: [1,2,3,2,1] B: [3,2,1,4,7] 输出: 3 解释: 长度最长的公共子数组是 [3, 2, 1]。

    说明:

    1 <= len(A), len(B) <= 1000 0 <= A[i], B[i] < 100

    动态规划

    class Solution { public int findLength(int[] A, int[] B) { int max = 0; int[][] dp = new int[A.length][B.length]; for(int i=0;i<A.length;i++){ for(int j=0;j<B.length;j++){ if(A[i]==B[j]){ if(i>0&&j>0){ dp[i][j] = dp[i-1][j-1]+1; }else{ dp[i][j] = 1; } max = Math.max(dp[i][j],max); } } } return max; } }

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximum-length-of-repeated-subarray 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    Processed: 0.018, SQL: 10