链接
https://leetcode-cn.com/problems/hamming-distance/
耗时
解题:7 min
题解:3 min
题意
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。
给出两个整数 x 和 y,计算它们之间的汉明距离。
思路
把 两个数 每一位的异或值 加和。
时间复杂度: O ( n ) O(n) O(n)
AC代码
class Solution {
public:
int hammingDistance(int x, int y) {
int cnt = 0;
while(x != 0 || y != 0) {
cnt += ((x&1)^(y&1));
x >>= 1;
y >>= 1;
}
return cnt;
}
};
该博客介绍了如何计算两个整数之间的汉明距离,即它们二进制表示下不同位的数目。通过异或操作和位移来实现,时间复杂度为O(n)。提供了AC代码实现。
722

被折叠的 条评论
为什么被折叠?



