477.汉明距离总和
两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。
计算一个数组中,任意两个数之间汉明距离的总和。
示例:
输入: 4, 14, 2 输出: 6 解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系) 所以答案为: HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.
注意:
- 数组中元素的范围为从
0
到10^9
。 - 数组的长度不超过
10^4
。
class Solution {
public:
int totalHammingDistance(vector<int>& nums) {
int res = 0, n = nums.size();
for (int i = 0; i < 32; ++i) {
int cnt = 0;
for (int num : nums) {
if (num & (1 << i)) ++cnt;
}
res += cnt * (n - cnt);
}
return res;
}
};
477.汉明距离总和相关推荐
- 477. 汉明距离总和
链接:477. 汉明距离总和 题解: class Solution { public:int totalHammingDistance(vector<int>& nums) {in ...
- leetcode 477. 汉明距离总和(位运算)
theme: healer-readable 题目 两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量. 计算一个数组中,任意两个数之间汉明距离的总和. 示例: 输入: 4, 14, 2 ...
- 文巾解题 477. 汉明距离总和
1 题目描述 2 解题思路 2.1 暴力两两比较 两个数字之间的汉明距离可以使用 文巾解题 461. 汉明距离_刘文巾的博客-CSDN博客 中的任何一种方法,但是因为这个是两两比较,时间复杂度比较高, ...
- 133. Leetcode 477. 汉明距离总和 (位运算-汉明距离相关题目)
class Solution:def totalHammingDistance(self, nums: List[int]) -> int:res = 0for i in range(32):c ...
- leetcode 477. Total Hamming Distance | 477. 汉明距离总和
题目 https://leetcode.com/problems/total-hamming-distance/ 题解 class Solution {public int totalHammingD ...
- 计算若干数据的汉明距离总和
目录 总结 题目 思路 C++代码 总结 位运算题目里,把复杂度降为 O(n) 的骚操作基本都是写一个 32 次(因为int型数据)的 for 循环,恰如好多"仅包含字母"的题目的 ...
- LeetCode每日打卡 - 汉明距离总和
有点慢,两层循环也可以完成,就是换个方向,外层遍历32大小的bits数组,里层遍历nums的数字每次右移一位,计算方法类似. class Solution {public int totalHammi ...
- java 汉明距离_Java实现 LeetCode 461 汉明距离
461. 汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. 给出两个整数 x 和 y,计算它们之间的汉明距离. 注意: 0 ≤ x, y < 231. 示例: 输入 ...
- leetcode 目录
动态规划 文巾解题 5. 最长回文子串_刘文巾的博客-CSDN博客 文巾解题 10. 正则表达式匹配_刘文巾的博客-CSDN博客 文巾解题 198. 打家劫舍_UQI-LIUWJ的博客-CSDN博客 ...
- C#LeetCode刷题-位运算
位运算篇 # 题名 刷题 通过率 难度 78 子集 67.2% 中等 136 只出现一次的数字 C#LeetCode刷题之#136-只出现一次的数字(Single Number) 53.5% 简单 1 ...
最新文章
- Specified VM install not found: type Standard VM, name jdk1.6_ 的疑问
- 今天网络又出问题了,现在的问题变成原IP地址不可用
- fork join框架_Java 7:Fork / Join框架示例
- istio 和 kong_如何启动和运行Istio
- python给内置函数重命名_python – 以Pandas Groupby函数重命名列名
- 安装完centos6没有eth0,只有回环地址
- tornado-ioloop-async-io
- 构建根文件系统_Linux之构建文件系统
- vector迭代器的使用
- 【数据分析面试】大厂高频SQL笔试题(二)
- 每天好心情——Python画一棵樱花树
- python平安夜代码加文案
- Could not fetch URL https://pypi.org/simple/selenium/: There was a problem confirming the ssl cer...
- matlab 直流无刷电机,无刷直流电机的matlab仿真.pdf
- Windows10开机进不了BIOS的解决办法
- [置顶] 代码审查工具FxCop建议采用的规则总结
- 永不过时的优雅 KOREANO ESSENTIAL 2022秋冬系列全新上市
- 2022-2027年中国共享自行车行业发展监测及投资战略研究报告
- 编译报错“ld: cannot find -lXXX”
- maya2018曲线创建管道