Given a binary array
Example 1:
Input: nums = [1,1,1,0,0,0,1,1,1,1,0], k = 2 Output: 6 Explanation: [1,1,1,0,0,1,1,1,1,1,1] Bolded numbers were flipped from 0 to 1. The longest subarray is underlined.
Example 2:
Input: nums = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1], k = 3 Output: 10 Explanation: [0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1] Bolded numbers were flipped from 0 to 1. The longest subarray is underlined.
Constraints:
1 <= nums.length <= 105 nums[i] is either0 or1 .0 <= k <= nums.length
Solution
之前也有在 FB 的面試問到這題,可以用 sliding window 來解
關鍵的地方是要用個 counter 記錄目前已經用了幾個 0 了
如果 counter 小於零,那就要移動 left index,直到 counter 大於等於 0
kotlin
沒有留言:
張貼留言