热门
最新
红包
立Flag
投票
同城
我的
发布
每日一题
461. 汉明距离
两个整数之间的 [汉明距离](https://baike.baidu.com/item/汉明距离) 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 `x` 和 `y`,计算并返回它们之间的汉明距离。
**示例 1:**
```
输入:x = 1, y = 4
输出:2
解释:
1 (0 0 0 1)
4 (0 1 0 0)
↑ ↑
上面的箭头指出了对应二进制位不同的位置。
```
**示例 2:**
```
输入:x = 3, y = 1
输出:1
```
解法一:位运算
时间复杂度:O(logn)
空间复杂度:O(1)
class Solution {
public:
int hammingDistance(int x, int y) {
int tmp = x ^ y, ret = 0;
while(tmp)
{
tmp &= tmp - 1;
ret++;
}
return ret;
}
};
每日学习打卡
CSDN App 扫码分享
评论
1
打赏
- 复制链接
- 举报