461. Hamming Distance

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 ≤ xy < 231.
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.
Analysis:
XOR x and y, can set the diff digit to be 1. Then count 1s in xor.

Solution:

class Solution {
    public int hammingDistance(int x, int y) {
        int count = 0, xor = x^y;
        for (int i = 0; i < 32; i++) {
            count += (1 & (xor >> i) );
        }
        return count;
    }
}

评论

此博客中的热门博文

776. Split BST

663. Equal Tree Partition

532. K-diff Pairs in an Array