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.

Example:

Input:
 x = 1, y = 4


Output:
 2


Explanation:

1   (0 0 0 1)
4   (0 1 0 0)
       ↑   ↑

The above arrows point to positions where the corresponding bits are different.

Solution: bit manipulation

class Solution(object):
    def hammingDistance(self, x, y):
        """
        :type x: int
        :type y: int
        :rtype: int
        """
        count = 0
        # compute x XOR y 
        # to get difference between x and y in bit
        ret = x ^ y
        # compute how many of the bits is 1
        for i in range(32):
            count += (ret >> i) & 1
        return count

Last updated