Skip to main content

Max Consecutive Ones

Problem statement

Given a binary array nums, return the maximum number of consecutive 1's in the array.

Example 1:

Input: nums = [1,1,0,1,1,1]Output: 3Explanation: The first two digits or the last three digits are consecutive 1s. The maximum number of consecutive 1s is 3.

Example 2:

Input: nums = [1,0,1,1,0,1]Output: 2

Constraints:

  • 1 <= nums.length <= 105
  • nums[i] is either 0 or 1.

My solution

/**
* @param {number[]} nums
* @return {number}
*/
var findMaxConsecutiveOnes = function(nums) {
let max = Number.MIN_VALUE;
let str = "";
for (let i = 0; i < nums.length; i++) {
const curr = nums[i];
if ((str === "" && curr !== 0) || curr === 1) {
str += `${curr}`;
} else {
max = Math.max(max, str.length);
str = "";
}
}
// console.log(str)
return Math.max(max, str.length);
};