Minimum Number of K Consecutive Bit Flips

You are given a binary array nums and an integer k.

A k-bit flip is choosing a subarray of length k from nums and simultaneously changing every 0 in the subarray to 1, and every 1 in the subarray to 0.

Return the minimum number of k-bit flips required so that there is no 0 in the array. If it is not possible, return -1.

A subarray is a contiguous part of an array.

Example 1
Inputnums = [0,1,0], k = 1
Output2
Flip nums[0], then flip nums[2].
Example 2
Inputnums = [1,1,0], k = 2
Output-1
No matter how we flip subarrays of size 2, we cannot make the array become [1, 1, 1].

Constraints

  • 1 <= nums.length <= 10^5
  • 1 <= k <= nums.length

Asked at 5 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate