In this problem there give two numbers
Let's we need assume that numbers name as "n" and "m" here based on the problem statement we need convert "n" value to "m" value by shifting minimum number of bit shift
A bit flip of a number x
is choosing a bit in the binary representation of x
and flipping it from either 0
to 1
or 1
to 0
.
- For example, for
x = 7
, the binary representation is111
and we may choose any bit (including any leading zeros not shown) and flip it. We can flip the first bit from the right to get110
, flip the second bit from the right to get101
, flip the fifth bit from the right (a leading zero) to get10111
, etc.
Given two integers start
and goal
, return the minimum number of bit flips to convert start
to goal
These are the input for clear understand
Input: start = 10, goal = 7 Output: 3 Explanation: The binary representation of 10 and 7 are 1010 and 0111 respectively. We can convert 10 to 7 in 3 steps: - Flip the first bit from the right: 1010 -> 1011. - Flip the third bit from the right: 1011 -> 1111. - Flip the fourth bit from the right: 1111 -> 0111. It can be shown we cannot convert 10 to 7 in less than 3 steps. Hence, we return 3.
here is the my approach there is simple i converting both numbers into binary at once and parallel i checking the the bits are equal or not, if its equal not need for count increment otherwise increasing the count in above statement and given explanation we can easily assess when bits are different need to count here is the code below for clear understanding, one more thing is it takes time complexity 3ms there so much optimal solutions there it can easily understand
CODE EXPLANATION:
in we declared the count to 0 int count=0; and in while loop we use logical or because if there is any number reduced zero but not another one is not reduced to zero, in that case we placed the or while(n>0||m>0) as we said the if condition if(n%2!=m%2) when there is different number the count gets increment count++; and the number is reduced in binary format i already told my previews post how the number converted into binary
my leetcode profile given below:
https://leetcode.com/u/vinaykumar333j/
My greekforgreek profile is given below follow:
https://www.geeksforgeeks.org/user/vinaykum6ho4/
0 Comments