Skip to content

Latest commit

 

History

History

461 - Hamming Distance

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

461. Hamming Distance share

Problem Statement

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

Given two integers x and y, return the Hamming distance between them.

 

Example 1:

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.

Example 2:

Input: x = 3, y = 1
Output: 1

 

Constraints:

  • 0 <= x, y <= 231 - 1

Solutions

impl Solution {
    pub fn hamming_distance(x: i32, y: i32) -> i32 {
        let (mut x, mut y) = (x, y);
        let mut count = 0;

        while x != 0 || y != 0 {
            if x % 2 != y % 2 {
                count += 1;
            }
            x /= 2;
            y /= 2;
        }

        count
    }
}