LeetCode 솔루션					분류
				
						[9/20] 718. Maximum Length of Repeated Subarray
본문
Medium
4406109Add to ListShareGiven two integer arrays nums1 and nums2, return the maximum length of a subarray that appears in both arrays.
Example 1:
Input: nums1 = [1,2,3,2,1], nums2 = [3,2,1,4,7] Output: 3 Explanation: The repeated subarray with maximum length is [3,2,1].
Example 2:
Input: nums1 = [0,0,0,0,0], nums2 = [0,0,0,0,0] Output: 5
Constraints:
- 1 <= nums1.length, nums2.length <= 1000
- 0 <= nums1[i], nums2[i] <= 100
Accepted
193,520
Submissions
376,706
관련자료
- 
			링크
			댓글 1
					
			학부유학생님의 댓글
- 익명
- 작성일
					
										
					Runtime: 3125 ms, faster than 86.65% of Python3 online submissions for Maximum Length of Repeated Subarray.
Memory Usage: 39.2 MB, less than 74.08% of Python3 online submissions for Maximum Length of Repeated Subarray.
				
													
								Memory Usage: 39.2 MB, less than 74.08% of Python3 online submissions for Maximum Length of Repeated Subarray.
from collections import defaultdict
class Solution:
    def findLength(self, nums1: List[int], nums2: List[int]) -> int:
        M, N = len(nums1), len(nums2)
        
        dp = [ [0]*M for _ in range(N) ]
        
        for i in range(M):
            if nums1[i] == nums2[0]:
                dp[0][i] = 1
        for n in range(1, N):
            for m in range(M):
                if m == 0 and nums2[n] == nums1[m]: dp[n][0] = 1
                elif nums2[n] == nums1[m]:
                    dp[n][m] = dp[n-1][m-1] + 1
        return max(max(line) for line in dp)
                 
								 
							







