Given a binary array and an integer m, find the position of zeroes flipping which creates maximum number of consecutive 1’s in array. Examples : Input: arr[] = {1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1} m = 2 Output: 5 7 We are allowed to flip maximum 2 zeroes. If we flip arr[5] and arr[7], we get 8 consecutive 1's which is maximum possible under given constraints Input: arr[] = {1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1} m = 1 Output: 7 We are allowed to flip maximum 1 zero. If we flip arr[7], we get 5 consecutive 1's which is maximum possible under given constraints. Input: arr[] = {0, 0, 0, 1} m = 4 Output: 0 1 2 Since m is more than number of zeroes, we can flip all zeroes. Input: arr[] = {0 , 0, 0, 0, 0} m = 2 Solution: sliding window use a window covering from the wL to wR. Let variable zeroCount to count the zero numbers inside the window. If zero count of the current window is less than m, wide the window to right. update the widest wi...
Comments
Post a Comment