Leetcode

Minimum Bit Flips to Convert Number

  • Time:O(\log (\max(\texttt{start}, \texttt{goal})))
  • Space:O(1)

C++

class Solution {
 public:
  int minBitFlips(int start, int goal) {
    return __builtin_popcount(start ^ goal);
  }
};

JAVA

class Solution {
  public int minBitFlips(int start, int goal) {
    return Integer.bitCount(start ^ goal);
  }
}

Python

class Solution:
  def minBitFlips(self, start: int, goal: int) -> int:
    return bin(start ^ goal).count('1')