题目:
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x
和 y
,计算并返回它们之间的汉明距离。
思路 :异或运算:相同的为0,不同的为1
将两个数做异或运算,然后计算1的个数即是答案。
代码:
java
class Solution {
public int hammingDistance(int x, int y) {
// Integer.bitCount
// 计算一个整数的二进制表示中 1 的个数(也称为 汉明重量 或 人口计数)
return Integer.bitCount(x ^ y);
}
}
性能:
时间复杂度o(1)
空间复杂度o(1)