[LeetCode] Challenge log 461

461. Hamming Distance

https://leetcode.com/problems/hamming-distance/description/

  1. Use bitwise operation XOR (1 if the bit is different).
  2. Count the number of 1 bits ( exactly as NO.191).

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:

1
2
3
4
5
6
7
8
9
10
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.

Soulution:
1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution(object):
def hammingDistance(self, x, y):
"""
:type x: int
:type y: int
:rtype: int
"""
temp = x ^ y
count = 0
while temp > 0:
temp = temp & (temp-1)
count += 1
return count

or even shorter:

1
2
3
4
5
6
7
8
class Solution(object):
def hammingDistance(self, x, y):
"""
:type x: int
:type y: int
:rtype: int
"""
return bin(x ^ y).count('1')
0%