Hamming Distance

Posted on

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

Given two integers x and y, calculate the Hamming distance.

Note:
0 ≤ x, y < 231.

Example:

Input: x = 1, y = 4

Output: 2

Explanation:
9 (1 0 0 1)
4 (0 1 0 0)
? ?

The above arrows point to positions where the corresponding bits are different.
*/
public class Solution {
public int hammingDistance(int x, int y) {
return Integer.bitCount(x^y);
}
}


Compare bit difference, first thought is to use XOR. In Java, XOR is x^y. The result is returned as a number still.

Lucky that the Integer class in Java has a method bitCount. It can count and return the number of one-bit. This one-line code saves a lot of work to count number one bit by bit.

 

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s