995. Minimum Number of K Consecutive Bit Flips

Hard

1.1K

56

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`

`-1`

.A **subarray** is a **contiguous** part of an array.

**Example 1:**

Input:nums = [0,1,0], k = 1Output:2Explanation:Flip nums[0], then flip nums[2].

**Example 2:**

Input:nums = [1,1,0], k = 2Output:-1Explanation:No matter how we flip subarrays of size 2, we cannot make the array become [1,1,1].

**Example 3:**

Input:nums = [0,0,0,1,0,1,1,0], k = 3Output:3Explanation:Flip nums[0],nums[1],nums[2]: nums becomes [1,1,1,1,0,1,1,0] Flip nums[4],nums[5],nums[6]: nums becomes [1,1,1,1,1,0,0,0] Flip nums[5],nums[6],nums[7]: nums becomes [1,1,1,1,1,1,1,1]

**Constraints:**

`1 <= nums.length <= 10`

^{5}`1 <= k <= nums.length`

Accepted

31K

Submissions

60.5K

Acceptance Rate

51.2%

Seen this question in a real interview before?

1/4

Yes

No

Discussion (0)

Related Topics

Copyright ©️ 2023 LeetCode All rights reserved