其他分享
首页 > 其他分享> > Hamming距离

Hamming距离

作者:互联网

两个整数的Hamming距离是对应比特位不同的个数。
给定两个整数x和y,计算两者的Hamming距离。

样例

样例1

输入: x = 1 和 y = 4
输出: 2
解释:
1的二进制表示是001
4的二进制表示是100
共有2位不同

样例2

输入: x = 5 和 y = 2
输出: 3
解释:
5的二进制表示是101
2的二进制表示是010
共有3位不同

注意事项

0 ≤ xy < 231

 

class Solution {
public:
    /**
     * @param x: an integer
     * @param y: an integer
     * @return: return an integer, denote the Hamming Distance between two integers
     */
    int hammingDistance(int x, int y) {
        // write your code here
        
        int num = x ^ y;
        int count = 0;
        while(num)
        {
            count++;
            num = num & (num-1);
        }
        return count;
    }
};

 

标签:return,int,距离,二进制,num,Hamming,integer
来源: https://blog.csdn.net/weixin_41791402/article/details/99638974