Leetcode995 Minimum Number of K Consecutive Bit Flips
##题目描述
In an array A
containing only 0s and 1s, a K
-bit flip consists of choosing a (contiguous) subarray of length K
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
.
Example 1:
1 | Input: A = [0,1,0], K = 1 |
Example 2:
1 | Input: A = [1,1,0], K = 2 |
Example 3:
1 | Input: A = [0,0,0,1,0,1,1,0], K = 3 |
##思路
思路:先找到第一个0,找到第一个0以后,如果第一个0的位置i,i+k>当前数组的长度,则返回-1. 反之,在K循环里,对当前值进行按位异或(^=)且轮数加一。最后返回轮数。
##代码
1 | class Solution { |