gary@interview:~/interview/coding/487-max-consecut….md$
$ cat ./coding/487-max-consecutive-ones-ii.md
[Coding]

487. Max Consecutive Ones II

────────────────────────────────────────────────────────────

487. Max Consecutive Ones II

這一個題目應該直接使用 1004. Max Consecutive Ones III 來思考

class Solution:
    def findMaxConsecutiveOnes(self, nums: List[int]) -> int:
        k = 1
        slow, fast, zeros, ans = 0, 0, 0, 0

        while fast < len(nums):
            # 當前數字為 0,增加 0 的計數
            if nums[fast] == 0:
                zeros += 1

            # 如果窗口中的 0 的數量超過了 k,縮小窗口
            if zeros > k:
                # 逐步縮小左側窗口,直到 0 的數量小於等於 k
                if nums[slow] == 0:
                    zeros -= 1
                slow += 1

            # 計算當前窗口的大小,並更新答案
            ans = max(ans, fast - slow + 1)
            fast += 1

        return ans
$ ls ./coding/ | grep -v 487-max-consecutive-ones-ii
265. Paint House II256. Paint House143. Reorder List1762. Buildings With an Ocean View
← cd ../codingcd ~