巧用图论知识解数组汉明距离总和
Posted 秦枫-_-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了巧用图论知识解数组汉明距离总和相关的知识,希望对你有一定的参考价值。
在这里插入图片描述
其实就是图论里边的偶图,例如:当只有所有数都是0或1的时候,0和1看成两个分支 0为X分支 1为Y分支 求边数,0和1连边才有汉明距
离,同一分支不能互连 按位运算把所有nums[i]某一位的0和1看成两个分支 0为X分支 1为Y分支 求边数,0和1连边才有汉明距离,同一分
支不能互连
class Solution {
public int totalHammingDistance(int[] nums) {
int res=0;
int []digit=new int[32];
for(int i=0;i<nums.length;i++){
int idx=0;
while(nums[i]!=0){
digit[idx]+=nums[i]&1;
idx++;
nums[i]>>=1;
}
}
for(int i=0;i<32;i++){
res+=digit[i]*(nums.length-digit[i]);
}
return res;
}
}
以上是关于巧用图论知识解数组汉明距离总和的主要内容,如果未能解决你的问题,请参考以下文章