# Leetcode - Contiguous Array

wanderer-s·2022년 2월 4일
0

## Algorithm

목록 보기
19/19 ## Problem

Contiguous Array
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 <= 10⁵
• nums[i] is either 0 or 1.

## Solution

#### JavaScript

/**
* @param {number[]} nums
* @return {number}
*/
var findMaxLength = function(nums) {
const numHash = {}
let count = 0,
longestLength = 0

for(let i = 0; i < nums.length; i++) {
if(nums[i] === 0) count--
else count++

if (count === 0) longestLength = i + 1

if(count in numHash) {
longestLength = Math.max(longestLength, i - numHash[count])
} else {
numHash[count] = i
}
}

return longestLength
};