Maximum consecutive one’s in a binary array

Learn how to find the maximum consecutive one’s or zero’s in a binary array.

Input:
[1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1]

Output:
4

Maximum consecutive one's

Maximum consecutive one’s in a binary array

Conceptually this is how the solution works.

  • We use two different trackers, one to track the current count and one to store the max count.
  • Iterate the array and keep increasing the current count if it is one. Once there is different element update the max count and reset the current count.
const getMaxLength = (arr, n = arr.length) => {
    let current = 0;
    let max = 0;
  
    for(let i = 0; i < n; i++){
       if(!arr[i]){
         current = 0;
       }else{
         current++;
         max = Math.max(max, current);
       }
    }
  
  return max;
}
Input:
const arr = [1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1];
console.log(getMaxLength(arr));

Output:
4

Time complexity: O(n).
Space complexity: O(1).