525. Contiguous Array
Medium
Given a binary array nums
, return the maximum length of a contiguous subarray with an equal number of 0
and 1
.
Example 1:
Input: nums = [0,1]
Output: 2
Explanation: [0, 1] is the longest contiguous subarray with an equal number of 0 and 1.
Example 2:
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.
Constraints:
1 <= nums.length <= 105
nums[i]
is either0
or1
.
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 result
Last updated