525. Contiguous Array
Medium
Input: nums = [0,1]
Output: 2
Explanation: [0, 1] is the longest contiguous subarray with an equal number of 0 and 1.Input: nums = [0,1,0]
Output: 2
Explanation: [0, 1] (or [1, 0]) is a longest contiguous subarray with equal number of 0 and 1.class Solution:
def findMaxLength(self, nums: List[int]) -> int:
d = {}
count = 0
result = 0
for index in range(len(nums)):
count += 1 if nums[index] == 1 else -1
if count == 0:
result = max(result, index+1)
elif count in d:
result = max(result, index - d[count])
else:
d[count] = index
return resultLast updated