3
int minKBitFlips(vector<int> &nums, int k) {6
int flips = 0; // flips on current positions7
vector<int> flip(n + 1, 0); // to set end pointer for a flip i.e i+k ->-110
for (int i = 0; i < n; i++) {11
flips += flip[i]; // update flips for current position13
// even flips on 1 okay14
if (nums[i] == 1 && (flips) % 2 == 0) {18
// odd flips on 0 okay20
if (nums[i] == 0 && (flips) % 2 != 0) {24
// margin error as k bits flips is must30
ops++; // increment ans31
flips++; // do flip at this position32
flip[i + k] = -1; // set poiter where current flip ends