Minimum Number of K Consecutive Bit Flips LeetCode solution in Java
1class Solution {2public int minKBitFlips(int[] nums, int k) {3int target = 0, ans = 0;4;5boolean[] flip = new boolean[nums.length + 1];6for (int i = 0; i < nums.length; i++) {7if (flip[i]) {8target ^= 1;9}10if (i < nums.length - k + 1 && nums[i] == target) {11target ^= 1;12flip[i + k] ^= true;13ans++;14}15if (i > nums.length - k && nums[i] == target) {16return -1;17}18}19return ans;20}21}