问:
两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。
计算一个数组中,任意两个数之间汉明距离的总和。
原题链接:https://leetcode.cn/problems/total-hamming-distance/
例:
输入: 4, 14, 2
输出: 6
答:
class Solution {
public int totalHammingDistance(int[] nums) {
int s = 0;
for(int i = 31;i >= 0;i--)
{
int s1=0,s2=0;
for(int n:nums)
{
if(((n >> i) & 1) == 1)
{
s1++;
}
else
{
s2++;
}
}
s += s1 * s2;
}
return s;
}
}