Back to all solutions
#1004 - Max Consecutive Ones III
Problem Description
Given a binary array nums and an integer k, return the maximum number of consecutive 1's in the array if you can flip at most k 0's.
Solution
/**
* @param {number[]} nums
* @param {number} k
* @return {number}
*/
var longestOnes = function(nums, k) {
let left = 0;
let right = 0;
while (right < nums.length) {
if (!nums[right]) k--;
if (k < 0) {
if (!nums[left]) k++;
left++;
}
right++;
}
return right - left;
};