Max Consecutive Ones III

LeetCode題目: 1004. Max Consecutive Ones III

My solution:

/**
 * @param {number[]} nums
 * @param {number} k
 * @return {number}
 */
let longestOnes = (nums, k) => {
    let left = 0, right = 0, flip = 0, res = 0;
    while(right < nums.length) {
        if(nums[right] === 0) ++flip;
        while(flip > k) {
            if(nums[left] === 0) --flip;
            ++left;
        }
        res = Math.max(res, right - left + 1);
        ++right;
    }
    return res;
}
profile-image
Hi, 我是 Zeki。目前為一名前端工程師。我相信科技始終來自於人性,是用來幫助人們過上更有品質的生活的,但願也希望如此。