



















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.
Consideration
This problem is also have a relationship with ‘^’ , Think about it :
1(0001) and 4(0100) their Xor is 5(0101) . next we use & Operator to calculate the number of 1 , let the binary & 1 ,if result is 1 ,sum’s up , use » to move the postion.
5(0101)
0&1 = 0 pass
01&01 = 1 sum
010&001 = 0 pass
0101&0001 = 1 sum
so,the anwser is 2
Solution
| |
tips: if you don’t understand the Xor ,you can see my older article which about Xor .and the flowing is about Hamming Distance from wiki.
3-bit binary cube for finding Hamming distance
Two example distances: 100→011 has distance 3; 010→111 has distance 2
The minimum distance between any two vertices is the Hamming distance between the two binary strings.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。