Given a binary number, the task is to remove exactly one bit from it such that, after it’s removal, the resultant binary number is greatest from all the options.
Input: 110 Output: 11 As 110 = 6 in decimal, the option is to remove either 0 or 1. So the possible combinations are 10, 11 The max number is 11 = 3 in decimal. Input:1001 Output: 101
- Traverse the binary number from left to right.
- Find the least redundant 0 bit, as this bit will have the least effect on the resultant binary number.
- Skip this bit, or remove it.
- The rest of the bits give the maximum value binary number.
Below is the implementation of the above approach:
Time Complexity: O(n)
- Maximum number of splits of a binary number
- Find the maximum possible Binary Number from given string
- Maximum number of consecutive 1's in binary representation of all the array elements
- Ways to remove one element from a binary string so that XOR becomes zero
- Minimum steps to remove substring 010 from a binary string
- Maximum 0's between two immediate 1's in binary representation
- Maximum distance between two 1's in Binary representation of N
- Maximum difference of zeros and ones in binary string
- Maximum contiguous 1 possible in a binary string after k rotations
- Maximum consecutive one’s (or zeros) in a binary array
- Minimum digits to remove to make a number Perfect Square
- Maximum difference of zeros and ones in binary string | Set 2 (O(n) time)
- Maximum consecutive one’s (or zeros) in a binary circular array
- Maximum Consecutive Zeroes in Concatenated Binary String
- Arrange a binary string to get maximum value within a range of indices
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.