两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。

计算一个数组中,任意两个数之间汉明距离的总和。

示例:

输入: 4, 14, 2
输出: 6
解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)
所以答案为:
HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.

注意:

  1. 数组中元素的范围为从 0到 10^9
  2. 数组的长度不超过 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.汉明距离总和相关推荐

  1. 477. 汉明距离总和

    链接:477. 汉明距离总和 题解: class Solution { public:int totalHammingDistance(vector<int>& nums) {in ...

  2. leetcode 477. 汉明距离总和(位运算)

    theme: healer-readable 题目 两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量. 计算一个数组中,任意两个数之间汉明距离的总和. 示例: 输入: 4, 14, 2 ...

  3. 文巾解题 477. 汉明距离总和

    1 题目描述 2 解题思路 2.1 暴力两两比较 两个数字之间的汉明距离可以使用 文巾解题 461. 汉明距离_刘文巾的博客-CSDN博客 中的任何一种方法,但是因为这个是两两比较,时间复杂度比较高, ...

  4. 133. Leetcode 477. 汉明距离总和 (位运算-汉明距离相关题目)

    class Solution:def totalHammingDistance(self, nums: List[int]) -> int:res = 0for i in range(32):c ...

  5. leetcode 477. Total Hamming Distance | 477. 汉明距离总和

    题目 https://leetcode.com/problems/total-hamming-distance/ 题解 class Solution {public int totalHammingD ...

  6. 计算若干数据的汉明距离总和

    目录 总结 题目 思路 C++代码 总结 位运算题目里,把复杂度降为 O(n) 的骚操作基本都是写一个 32 次(因为int型数据)的 for 循环,恰如好多"仅包含字母"的题目的 ...

  7. LeetCode每日打卡 - 汉明距离总和

    有点慢,两层循环也可以完成,就是换个方向,外层遍历32大小的bits数组,里层遍历nums的数字每次右移一位,计算方法类似. class Solution {public int totalHammi ...

  8. java 汉明距离_Java实现 LeetCode 461 汉明距离

    461. 汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. 给出两个整数 x 和 y,计算它们之间的汉明距离. 注意: 0 ≤ x, y < 231. 示例: 输入 ...

  9. leetcode 目录

    动态规划 文巾解题 5. 最长回文子串_刘文巾的博客-CSDN博客 文巾解题 10. 正则表达式匹配_刘文巾的博客-CSDN博客 文巾解题 198. 打家劫舍_UQI-LIUWJ的博客-CSDN博客 ...

  10. C#LeetCode刷题-位运算

    位运算篇 # 题名 刷题 通过率 难度 78 子集 67.2% 中等 136 只出现一次的数字 C#LeetCode刷题之#136-只出现一次的数字(Single Number) 53.5% 简单 1 ...

最新文章

  1. Specified VM install not found: type Standard VM, name jdk1.6_ 的疑问
  2. 今天网络又出问题了,现在的问题变成原IP地址不可用
  3. fork join框架_Java 7:Fork / Join框架示例
  4. istio 和 kong_如何启动和运行Istio
  5. python给内置函数重命名_python – 以Pandas Groupby函数重命名列名
  6. 安装完centos6没有eth0,只有回环地址
  7. tornado-ioloop-async-io
  8. 构建根文件系统_Linux之构建文件系统
  9. vector迭代器的使用
  10. 【数据分析面试】大厂高频SQL笔试题(二)
  11. 每天好心情——Python画一棵樱花树
  12. python平安夜代码加文案
  13. Could not fetch URL https://pypi.org/simple/selenium/: There was a problem confirming the ssl cer...
  14. matlab 直流无刷电机,无刷直流电机的matlab仿真.pdf
  15. Windows10开机进不了BIOS的解决办法
  16. [置顶] 代码审查工具FxCop建议采用的规则总结
  17. 永不过时的优雅 KOREANO ESSENTIAL 2022秋冬系列全新上市
  18. 2022-2027年中国共享自行车行业发展监测及投资战略研究报告
  19. 编译报错“ld: cannot find -lXXX”
  20. maya2018曲线创建管道

热门文章

  1. artDialog双击会关闭对话框的修改
  2. Ubuntu 16.10安装之后必须做的16 件事
  3. 【STL记录】Containers--Lists
  4. tcpdump 的TCP输出结果详解
  5. python--sorted函数
  6. css background背景拉伸
  7. ExtJs4学习(一):正确认识ExtJs4
  8. mac nginx 指定php.ini,基于Mac自带nginx、php,配置php运行环境
  9. OpenCV-图像处理(11、形态学操作)
  10. linux安装weblogic界面,Weblogic11g 安装Linux下无Weblogic安装图形界面