# Contiguous Array LeetCode Solution

Here, We see Contiguous Array LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

# List of all LeetCode Solution

## Problem Statement

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.

## Contiguous Array Leetcode SolutionC++

``````class Solution {
public:
int findMaxLength(vector<int>& nums) {
int maxlen = 0;
for (int i = 0; i < nums.size(); i++) {
int zeroes = 0, ones = 0;
for (int j = i; j < nums.size(); j++) {
if (nums[j] == 0) {
zeroes++;
} else {
ones++;
}
if (zeroes == ones) {
maxlen = max(maxlen, j - i + 1);
}
}
}
return maxlen;
}
};```Code language: PHP (php)```

## Contiguous Array Leetcode SolutionJava

``````class Solution {
public int findMaxLength(int[] nums) {
int n = nums.length;
Map<Integer, Integer> mp = new HashMap<>();
int sum = 0;
int subArrayLength = 0;
for (int i = 0; i < n; i++) {
sum += nums[i] == 0 ? -1 : 1;
if (sum == 0) {
subArrayLength = i + 1;
} else if (mp.containsKey(sum)) {
subArrayLength = Math.max(subArrayLength, i - mp.get(sum));
} else {
mp.put(sum, i);
}
}
return subArrayLength;
}
}```Code language: JavaScript (javascript)```

## Contiguous Array SolutionJavaScript

``````var findMaxLength = function(nums) {
let mp = new Map();
let sum = 0;
let subArrayLength = 0;
for (let i = 0; i < nums.length; i++) {
sum += nums[i] === 0 ? -1 : 1;
if (sum === 0) {
subArrayLength = i + 1;
} else if (mp.has(sum)) {
subArrayLength = Math.max(subArrayLength, i - mp.get(sum));
} else {
mp.set(sum, i);
}
}
return subArrayLength;
};```Code language: JavaScript (javascript)```

## Contiguous Array SolutionPython

``````class Solution(object):
def findMaxLength(self, nums):
mp = {}
sum_val = 0
max_len = 0
for i, num in enumerate(nums):
sum_val += 1 if num == 1 else -1
if sum_val == 0:
max_len = i + 1
elif sum_val in mp:
max_len = max(max_len, i - mp[sum_val])
else:
mp[sum_val] = i
return max_len``````
Scroll to Top