2
public int minFlips(String s) {4
* Sliding Window Approach9
int mininumFlip = Integer.MAX_VALUE;11
int misMatchCount = 0;12
for (int i = 0; i < (2 * n); i++) {16
// add mis watch count in current window17
if ((s.charAt(r) - '0') != (i % 2 == 0 ? 1 : 0)) misMatchCount++;19
// remove mismatch count which are not relvent for current window20
if (i >= n && (s.charAt(r) - '0') != (r % 2 == 0 ? 1 : 0)) misMatchCount--;22
// misMatchCount : when valid binary string start from 123
// n - misMatchCount : when valid binary string start from 025
mininumFlip = Math.min(mininumFlip, Math.min(misMatchCount, n - misMatchCount));