Skip to content

Latest commit

 

History

History
 
 

461. Hamming Distance

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

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: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑

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

Related Topics:
Bit Manipulation

Similar Questions:

Solution 1.

// OJ: https://leetcode.com/problems/hamming-distance/
// Author: github.com/lzl124631x
// Time: O(1)
// Space: O(1)
class Solution {
public:
    int hammingDistance(int x, int y) {
        int ans = 0;
        for (int z = x ^ y; z; z >>= 1) ans += z & 1;
        return ans; 
    }
};

Solution 2.

// OJ: https://leetcode.com/problems/hamming-distance/
// Author: github.com/lzl124631x
// Time: O(1)
// Space: O(1)
class Solution {
public:
    int hammingDistance(int x, int y) {
        int ans = 0;
        for (int z = x ^ y; z; z &= z - 1) ++ans;
        return ans; 
    }
};