477. Total Hamming Distance
来源:互联网 发布:在ubuntu上下载软件 编辑:程序博客网 时间:2024/05/21 18:37
Related Topics:Bit Manipulation
一开始使用求两个数的汉明距离的思路,发现超时了,所以只能想新的方法。
int totalHammingDistance(vector<int>& nums) {
int sum=0;
for(int i=0;i<nums.size();i++){
for(int j=i+1;j<nums.size();j++){
sum+=hammingDistance(nums[i],nums[j]);
}
}
return sum;
}
int hammingDistance(int x, int y) {
int count=0;
for(int i=0;i<32;i++){
if(((x>>i)&1) != ((y>>i)&1)){
count++;
}
}
return count;
}
百度了一下如何求多个数的汉明距离,思路是:在某一位上,如果有m个1,n个0,则在这一位上就会产生m*n个汉明距离,所以遍历所有的位数,汉明距离是每一位上汉明距离的总和。
class Solution {
public:int totalHammingDistance(vector<int>& nums) {
int sum=0;
for(int j=0;j<32;j++){
int m=0,n=0;
for(int i=0;i<nums.size();i++){
if(((nums[i]>>j)&1)==1) m++;
if(((nums[i]>>j)&1)==0) n++;
}
sum+=(m*n);
}
return sum;
}
};
阅读全文
0 0
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- 477. Total Hamming Distance**
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- 477. Total Hamming Distance
- LeetCode 477. Total Hamming Distance
- 【Leetcode】477. Total Hamming Distance
- LeetCode 477. Total Hamming Distance
- [leetcode] 477. Total Hamming Distance
- LeetCode 477. Total Hamming Distance
- LeetCode 477. Total Hamming Distance
- leetcode 378. Kth Smallest Element in a Sorted Matrix
- 解决 element ui 弹出组件的遮罩层在弹出层的上面的问题
- POSIX信号处理
- 素数环
- dojo.declare/dojo.provide/dojo.require:JavaScript模块化管理工具
- 477. Total Hamming Distance
- AYIT2017暑假集训第二周周三赛 C
- hive的查询注意事项以及优化总结
- Android Studio配置Gradle(包括signingConfigs、buildTypes和productFlavors等)
- 标准I/O和管道
- 表单上传get和post的区别
- 分页插件pageHelper
- CF 700D Huffman Coding on Segment(huffman编码分块+莫队)
- 1 如何转载CSDN博客文章