This article introduces the Maximum Length of Repeated Subarray of LeetCode. I hope you will learn patiently.
Given two integer arrays A
and B
, return the length of the common and longest subarray in the two arrays.
Example 1:
输入:A: [1,2,3,2,1] B: [3,2,1,4,7]输出: 3解释: 长度最长的公共子数组是 [3, 2, 1]。
Instructions:
1 <= len (A), len(B) <= 1000
public class MaxLengthRepeatedSubarray { //动态规划算法 public static int findLength(int[] A, int[] B) { int aSize = A.length; int bSize = B.length; int[][] dp = new int[aSize + 1][bSize + 1]; int result = 0; for (int i = 1; i < dp.length; i++) { for (int j = 1; j < dp[i].length; j++) { dp[i][j] = A[i - 1] == B[j - 1] ? dp[i - 1][j - 1] + 1 : 0; result = Math.max(result, dp[i][j]); } } return result; } public static void main(String[] args) { int[] a = new int[]{1, 2, 3, 2, 1}; int[] b = new int[]{3, 2, 1, 4, 7}; System.out.println(findLength(a, b)); } }Related recommendations:
LeetCode 2 Evaluate Reverse Polish Notation
python Problem using list of lists to represent matrices?
The above is the detailed content of LeetCode Maximum Length of Repeated Subarray. For more information, please follow other related articles on the PHP Chinese website!