LeetCode 477. Total Hamming Distance
来源:互联网 发布:韩国视频软件 编辑:程序博客网 时间:2024/04/18 21:04
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.
Now your job is to find the total Hamming distance between all pairs of the given numbers.
Example:
Input: 4, 14, 2Output: 6Explanation: In binary representation, the 4 is 0100, 14 is 1110, and 2 is 0010 (justshowing the four bits relevant in this case). So the answer will be:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.
Note:
- Elements of the given array are in the range of
0
to10^9
- Length of the array will not exceed
10^4
.
class Solution {public: int totalHammingDistance(vector<int>& nums) { int len = nums.size(); vector<int> v(numBit, 0); for (auto digit : nums) { int mask = 1; for (int j = 0; j < numBit; ++j) { v[j] += bool(digit & mask); mask = mask << 1; } } int result = 0; for (int i = 0; i < numBit; ++i) { result += v[i] * (len - v[i]); } return result; }private: static const unsigned numBit = 32;};
0 0
- 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
- 【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
- LeetCode 477. Total Hamming Distance
- leetcode 477. Total Hamming Distance
- redis3.2新功能--GEO地理位置命令介绍
- 自学JAVA[DAY004]--JAVA流程控制
- 异常处理文件的写出操作
- sizeof("string") 以及字符数组使用字符串初始化
- SQL优化指导(STA)与SQL访问指导(SAA)
- LeetCode 477. Total Hamming Distance
- Swift Playground精讲
- 解决本地文件上传时fakepath的问题
- 数据结构课程设计——烟大导航系统
- 2016-2017年度年终总结
- BZOJ 3238 [Ahoi2013]差异
- File "/Volumes/android/.repo/repo/main.py", line 531, in <module> _Main(sys.argv[1:]) 解决方法
- maven安装
- 类之间的关系(C++)