Leetcode 477 Total Hamming Distance
来源:互联网 发布:淘宝运营助理工资 编辑:程序博客网 时间:2024/05/17 06:12
Leetcode 477 Total Hamming Distance
#include <vector>#include <intrin.h>//__popcnt#include<nmmintrin.h>using namespace std;class Solution {public: int hammingDistance(int x, int y) { int z = x ^ y;//异或 int count = 0; while (z){ z = z &(z - 1); count++; } return count; }//超时 int hammingDistance2(int x, int y){ int z = x ^y; //_mm_popcnt_u32(z); // __popcnt(z); int count = __builtin_popcount(z);//gcc return count; }//超时 int totalHammingDistance(vector<int>& nums) { int totalHd = 0; int size = nums.size(); for (int i = 0; i < size - 1; i++){ for (int j = i + 1; j < size; j++){ totalHd += hammingDistance(nums[i], nums[j]); } } return totalHd; }};//考虑所有数字的同一个bit位,统计在这个bit位上出现的1的次数count//那么这个bit位在总的汉明距离中就贡献了count*(n - count),n是数组中元素的个数。class Solution {public: int totalHammingDistance(vector<int>& nums) { int totalHd = 0; int size = nums.size(); for (int j = 0; j < 32; j++){ int bitCount = 0; for (int i = 0; i < size; i++){ bitCount += (nums[i] >> j) & 1;//nums[i]这个数在j位上是否是1 } totalHd += bitCount * (size - bitCount); } return totalHd; }};
阅读全文
0 0
- Leetcode Total Hamming Distance 477
- 【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: Total Hamming Distance
- LeetCode Total Hamming Distance
- leetcode-Total Hamming Distance
- leetcode 477 Total Hamming Distance C++
- 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 477. Total Hamming Distance
- Leetcode-477. Total Hamming Distance
- UVa 10082(WERTYU)
- markdown2
- Leetcode 51. N-Queens
- java网络基础—UDP
- C语言:if语句的嵌套
- Leetcode 477 Total Hamming Distance
- spring注解开发之@modelAttribute
- 刚体与COLLIDER
- Leetcode 628 Maximum Product of Three Numbers
- 【codejam2008_QualificationRound_C】Fly Swatter
- UVa 272(TEX Quotes)
- Intellij Idea 搭建J2EE SpringMVC
- 常见算法:C语言求最小公倍数和最大公约数三种算法
- 数据分析(入门篇)-第二章-结构为王——确定分析思路