[leetcode]461. Hamming Distance
2017-03-26 08:58
316 查看
The Hamming distance between two integers is the number of positions at which the corresponding
bits are different.
Given two integers
calculate the Hamming distance.
Note:
0 ≤
231.
Example:
思路:
(1)先求x^y的结果res。
(2)再依次求res的每一位与1进行与操作的结果,若不为0,则Hamming Distance加一。
(3)每判断完一位,res右移一位继续判断下一位
public class Solution {
public int hammingDistance(int x, int y) {
int count = 0;
int res = x^y;
while(res>0) {
if((res&1)!=0) {
count++;
}
res>>=1;
}
return count;
}
}
bits are different.
Given two integers
xand
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.
思路:
(1)先求x^y的结果res。
(2)再依次求res的每一位与1进行与操作的结果,若不为0,则Hamming Distance加一。
(3)每判断完一位,res右移一位继续判断下一位
public class Solution {
public int hammingDistance(int x, int y) {
int count = 0;
int res = x^y;
while(res>0) {
if((res&1)!=0) {
count++;
}
res>>=1;
}
return count;
}
}
相关文章推荐
- leetcode - 461. Hamming Distance (bit mannipulation)
- 【leetCode】461. Hamming Distance
- leetcode 461. Hamming Distance(C语言)
- leetcode 461. Hamming Distance 解题报告
- LeetCode 461. Hamming Distance
- [LeetCode]461. Hamming Distance
- 【LeetCode】461. Hamming Distance【E】【90】
- 【LeetCode】461. Hamming Distance
- LeetCode--461. Hamming Distance(汉明距离)Python
- LeetCode 461. Hamming Distance
- LeetCode 461. Hamming Distance (汉明距离)
- leetcode 461. Hamming Distance
- 【Leetcode】461. Hamming Distance
- LeetCode-461. Hamming Distance-位运算
- leetcode#461. Hamming Distance
- Leetcode#461. Hamming Distance(异或)
- LeetCode 461. Hamming Distance
- LeetCode: 461. Hamming Distance
- leetcode 461. Hamming Distance python实现
- LeetCode 461. Hamming Distance