Given a binary array, we can flip all the 1 are in the left part and all the 0 to the right part. Calculate the minimum flips required to make all 1s in left and all 0s in right.
Input: 1011000 Output: 1 1 flip is required to make it 1111000. Input : 00001 Output : 2 2 flips required to make it 10000.
For solving this problem we use bitmasking. First, we convert this array to a string, then we find the equivalent decimal number of that binary string. We try all masks with all possibilities of 1s in left and 0s in right. We iterate a loop till the decimal number becomes zero. Each time we will do bitwise XOR of the number with mask and the number of ones in XOR value will be the number of flips required. We decrease n by 1 and update the mask.
1-Take binary array as input
2-Convert array to string and then the equivalent decimal number(num)
3-Take initial mask value and iterate till num <= 0
4-Find required flips using (num XOR mask)
5-Find minimum flips and decrease num and update mask
6-Return the minimum count
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Minimum flips to make all 1s in left and 0s in right | Set 2
- Minimum flips to make all 1s in right and 0s in left
- Partition of a set into K subsets with equal sum using BitMask and DP
- Count minimum right flips to set all values in an array
- Minimum flips required to form given binary string where every flip changes all bits to its right as well
- Minimum elements to change so that for an index i all elements on the left are -ve and all elements on the right are +ve
- Minimum Group Flips to Make Binary Array Elements Same
- Minimum Count of Bit flips required to make a Binary String Palindromic
- Rotate all odd numbers right and all even numbers left in an Array of 1 to N
- Minimum flips required in a binary string such that all K-size substring contains 1
- Minimum Subarray flips required to convert all elements of a Binary Array to K
- Minimum flips required to keep all 1s together in a Binary string
- Minimum flips required to maximize a number with k set bits
- Minimum bit flips such that every K consecutive bits contain at least one set bit
- Count of Array elements greater than all elements on its left and next K elements on its right
- Count of Array elements greater than all elements on its left and at least K elements on its right
- Count smaller elements on right side and greater elements on left side using Binary Index Tree
- Minimum flips in two binary arrays so that their XOR is equal to another array
- Minimum flips in a Binary array such that XOR of consecutive subarrays of size K have different parity
- Find maximum difference between nearest left and right smaller elements
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.