Day36汉明距离总和

ops/2024/12/28 18:17:11/

两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。
给你一个整数数组 nums,请你计算并返回 nums 中任意两个数之间 汉明距离的总和 。

在这里插入图片描述

按照之前求海明码的做法做,暴力解超时。

java">class Solution {public int totalHammingDistance(int[] nums) {int distance = 0;for (int i = 0; i < nums.length - 1; i++) {for (int j = i + 1; j < nums.length; j++) {int a = nums[i];int b = nums[j];while (Math.max(a, b) != 0) {if ((a & 1) != (b & 1)) {distance++;}a = a >> 1;b = b >> 1;}}}return distance;}
}
java">class Solution {public int totalHammingDistance(int[] nums) {int ans = 0, n = nums.length;  // 初始化答案为0,n为数组长度for (int i = 0; i < 30; ++i) {  // 对于每一位(假设数字不超过30位二进制数)int c = 0;  // 统计当前二进制位为1的数字个数for (int val : nums) {  // 遍历所有数字c += (val >> i) & 1;  // 将每个数字右移i位,检查第i位是否为1}ans += c * (n - c);  // 对于当前位,计算汉明距离的贡献:有c个数字在该位是1,剩下(n - c)个是0}return ans;  // 返回总的汉明距离}
}

时间复杂度:O(nL),空间复杂度:O(1)。


http://www.ppmy.cn/ops/145712.html

相关文章

pcl源码分析之Harris关键点(二)

文章目录 前言一、responseHarris响应函数二、其他响应函数1.responseNoble函数2.responseLowe函数3.responseCurvature函数4.responseTomasi函数 三.refineCorners函数总结 前言 前文已经总结了一下pcl源码提取Harris关键点的流程和大致原理&#xff0c;这篇文章对关键函数进…

STM32-- keil -常用功能

1.修改整个工程名称&#xff08;keil-c51编辑器&#xff09; 要同时修改这三个文件&#xff0c;不然要重新设置。 uvoptx文件 uvoptx文件记录了工程的配置选项&#xff0c;如下载器的类型、变量跟踪配置、断点位置以及当前已打开的文件等等&#xff1b; uvguix文件 uvguix文…

mysql-二进制安装方式

目录 1. 安装组件即依赖包 2. 创建用户 3. 关闭防火墙 4. 解压mysql二进制源码包 5. 创建文件夹并赋予权限 6. 编译安装mysql&#xff0c;安装完成最后面&#xff0c;会有一串英文&#xff0c;那是登录数据库的密码 7. 设置配置文件 8. 将mysql添加进环境变量 9. 复制…

SpringBoot(Ⅱ)——@SpringBootApplication注解+自动装配原理+约定大于配置

1. SpringBootApplication注解 SpringBootApplication标注在某个类上说明这个类是SpringBoot的主配置类&#xff0c;SpringBoot就通过运行这个类的main方法来启动SpringBoot应用&#xff1b; 并且Configuration注解中也有Component注解&#xff0c;所以这个主启动类/主配置类…

EleutherAI/pythia-70m

EleutherAI/pythia-70m” 是由 EleutherAI 开发的一个小型开源语言模型&#xff0c;它是 Pythia Scaling Suite 系列中参数量最小的模型&#xff0c;拥有大约 7000 万个参数。这个模型主要旨在促进对语言模型可解释性的研究&#xff1b; Pythia Scaling Suite是为促进可解释性…

第T4周:TensorFlow实现猴痘识别(Tensorboard的使用)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标&#xff1a; 1、学习tensorboard的使用 具体实现&#xff1a; &#xff08;一&#xff09;环境&#xff1a; 语言环境&#xff1a;Python 3.10 编 译 器…

dockfile 配置 /etc/apt/source.list.d/debian.list 清华镜像

docker:3.12.7 镜像使用的是 debian 系统&#xff0c;比 ubuntu 更轻量。debian 系统内&#xff0c;apt 镜像源列表位于 /etc/apt/source.list.d/debian.list&#xff08;作为对比&#xff0c;ubuntu 的镜像列表位于 /etc/apt/source.list&#xff0c;二者语法相同&#xff09;…

72 mysql 的客户端和服务器交互 returnGeneratedKeys

前言 这里主要是针对如下 情况的讨论 比如我们 tz_zone 表有一个自增长的主键 id, 然后 客户端这边可以通过 PreparedStatement 相关的 api 来获取 服务端这边生成的自增长的 id 我们这里 来看一下 这个流程, 整体的 客户端 和 服务器的交互上面来看 问题来自于 主题&…