Given a binary number as a string str of length L. The task is to find the minimum number of operations needed so that the number becomes 2L-1, that is a string consisting of only 1’s of the length L.
In each operation, the number N can be replaced by N xor (N + 1).
Input: str = “10010111”
N = 10010111, N + 1 = 10011000, so N xor (N + 1) = 00001111
N = 00001111, N + 1 = 00010000, so N xor (N + 1) = 00011111
N = 00011111, N + 1 = 00100000, so N xor (N + 1) = 00111111
N = 00111111, N + 1 = 01000000, so N xor (N + 1) = 01111111
N = 01111111, N + 1 = 10000000, so N xor (N + 1) = 11111111
Input: str = “101000100101011101”
Approach: After performing the given operation, it can be observed that in order to get the required number, in the end, the number of operations will be:
Number of Operations = length of the string (after removing leading 0s) – count of consecutive 1’s form the end (starting from the least significant bit)
Below is the implementation of the above approach:
Time Complexity: O(n)
- Minimum operations required to convert a binary string to all 0s or all 1s
- Minimum number of given operations required to convert a string to another string
- Minimum number of operations required to sum to binary string S
- Minimum swaps required to convert one binary string to another
- Minimum operations required to make the string satisfy the given condition
- Minimum reduce operations to convert a given string into a palindrome
- Minimum swaps required to make a binary string alternating
- Minimum number of operations on a binary string such that it gives 10^A as remainder when divided by 10^B
- Minimum cuts required to convert a palindromic string to a different palindromic string
- Minimum steps to convert one binary string to other only using negation
- Minimum number of given operations required to make two strings equal
- Minimum operations of the given type required to make a complete graph
- Minimum increment or decrement operations required to make the array sorted
- Operations required to make the string empty
- Minimum cost to convert str1 to str2 with the given operations
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.