Number of Bit Changes to Make Two Integers Equal
EasyBit Manipulation
Solution
export function minChanges(n: number, k: number): number {
if ((n & k) !== k) {
return -1;
}
return countBit(n) - countBit(k);
}
function countBit(num: number): number {
let bitCount = 0;
while (0 < num) {
bitCount += 1;
num = num & (num - 1);
}
return bitCount;
}
Complexity
- Time:
O(logN)
- Space:
O(1)