mirror of
				https://git.wolves.top/wolves/leetcode.git
				synced 2025-11-04 17:26: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;
 | 
						|
} |