461. Hamming Distance

The Hamming distance between two integers is the number of positions at which the corresponding bits are different.

Given two integersxandy, calculate the Hamming distance.

Note:
0 ≤x,y< 2^31

Input: x = 1, y = 4
Output: 2
Explanation:
1   (0 0 0 1)
4   (0 1 0 0)
       X   X
The above X point to positions where the corresponding bits are different.

Solution:

The idea is to get the bit from right to left and compare them to count the number of differences.

public int hammingDistance(int x, int y) {
    int res = 0;
    for (int i = 0; i <= 31; i++) {
        if (((x>>i)&1) != ((y>>i)&1)) {
            res++;
        }
    }

    return res;
}

results matching ""

    No results matching ""