mirror of
https://git.wolves.top/wolves/leetcode.git
synced 2025-11-05 01:36:32 +08:00
26 lines
420 B
C++
26 lines
420 B
C++
|
|
int minChanges(int n, int k)
|
|
{
|
|
if(n<k){
|
|
return 1;
|
|
}
|
|
int count = 0;
|
|
while (n || k == 0)
|
|
{
|
|
if ((n & 1) < (k & 1))
|
|
{
|
|
return -1;
|
|
}
|
|
if ((n & 1) > (k & 1))
|
|
{
|
|
count++;
|
|
}
|
|
n >>= 1;
|
|
k >>= 1;
|
|
}
|
|
return count;
|
|
}
|
|
|
|
int minChanges1(int n, int k) {
|
|
return (n & k) == k ? __builtin_popcount(n ^ k) : -1;
|
|
} |