【简单】461. 汉明距离

Hamming Distance (汉明距离) 汉明距离 阅读详情

【题目】
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。
来源:leetcode
链接:https://leetcode-cn.com/problems/hamming-distance/
【注意】
0 ≤ x, y < 2^31
【示例】
输入: x = 1, y = 4
输出: 2
解释:
1 (0 0 0 1)
4 (0 1 0 0)
↑ ↑
上面的箭头指出了对应二进制位不同的位置
【代码】建议直接看最后一个简化版本,这个真解法心太复杂了!!!
思想:先把x和y转换成二进制字符串,然后对两个二进制字符串进行对比。这个时候还要考虑两个二进制字符串的长度等太麻烦了!!!

class Solution {
public:
    string shiTObinary(int x){
        string rs="";
        while(x){
            x%2?rs+="1":rs+="0";
            x/=2;
        }
        return rs;
    }
    int hammingDistance(int x, int y) {
        string strx=shiTObinary(x);
        string stry=shiTObinary(y);
        int maxlen=max(strx.size(),stry.size());
        int minlen=min(strx.size(),stry.size());
        int cnt=0;
        for(int i=0;i<minlen;i++)
            if(strx[i]!=stry[i])
                cnt++;
        if(strx.size()<stry.size())
            swap(strx,stry);
        for(int i=minlen;i<maxlen;i++)
            if(strx[i]=='1')
                cnt++;
        return cnt;
    }
};

【简化版本】
执行用时 :0 ms, 在所有 C++ 提交中击败了100.00% 的用户
内存消耗 :6 MB, 在所有 C++ 提交中击败了100.00%的用户
思路:相对于前一个解法来说,这个解法直接省去了将十进制转换为二进制的结果的存储,再转换的过程中,直接对其每一位进行比较,逻辑清晰简单,复杂度也进一步降低!!!推荐这个解法。

class Solution {
public:    
    int hammingDistance(int x, int y) {
        int cnt=0;
        while(x||y){
            if(x%2!=y%2)
                cnt++;
            x/=2;
            y/=2;
        }
        return cnt;
    }
};
华为Watch的ECG功能技术分析 华为Watch的ECG(心电图)功能通过硬件传感器、算法优化和医疗认证的结合,实现了对心脏电活动的监测和房颤(AFib)等心律失常的预警。采用医疗级ECG模拟前端芯片(AFE),如TI(德州仪器)的ADS1292R等,支持低噪声、高采样率(通常≥200Hz)。结合PPG(光学心率)数据交叉验证,提高检测可靠性(如ECG和PPG心率不一致时触发警告)。通过RR间期变异性判断心律是否规则,识别房颤(AFib)的典型特征(如不规则不规则心律)。结合加速度计数据,识别手臂运动导致的信号失真,动态调整算法参数。 阅读详情

相关推荐

ADS2020实战:手把手教你搭建交叉耦合VCO并分析相位噪声(附避坑指南)

本文以ADS2020软件为例,提供了交叉耦合压控振荡器(VCO)从原理图搭建到相位噪声分析的完整实战指南。详细讲解了核心器件选择、谐波平衡与瞬态仿真的关键设置,并重点剖析了相位噪声的仿真方法与优化方向。文中附有详细的避坑指南,帮助初学者和工程师高效完成VCO设计与仿真验证,避免常见错误。

p5l2m9n4o6q的博客 283

【猿知识】汉明距离(Hamming Distance)

汉明距离是以理查德·卫斯里·汉明的名字命名的,汉明在误差检测与校正码的基础性论文中首次引入这个概念。在通信中累计定长二进制字中发生翻转的错误数据位,所以它也被称为信号距离。

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 3万+

1.30 Cubemx_STM32H743 SD_Card纳入文件管理系统

Cubemx_STM32H743 SD_Card纳入文件管理系统1、简介2、CubeMX配置 1、简介 和前面文章原理其实一样的。 1.29 Cubemx_STM32F429\H743 nandflash、spifalsh纳入文件管理系统 现在一并将SD卡、NandFlash、SPIFlash一并作为文件管理。 下面直接介绍SDcard,其他参考前面文章。 2、CubeMX配置 ...

oDuanYanGuHong的博客 1080

汉明距离(Hamming Distance)

汉明距离(Hamming Distance) 定义 汉明距离以美国数学家理查德·卫斯里·汉明的名字命名,表示两个相同长度的字符串在相同位置上不同字符的个数。用d(x,y)来表示x和y两个字符串的汉明距离。汉明距离可以用来计算两个文本之间的相似度,根据不同字符的个数来判断两个文本是否相似。 d(10010,10000)=2 d(abcbc,abdab)=3 计算 根据定义,我们需要统计出相同位置上不同字符的个数,如何判断两个字符是否相同呢?如果两个字符都是数字,可以用a==b来判断,如果两个字符是非数字,可

卡了个卡 1万+

【雷达成像实战】RD、CS、RMA算法对比与Matlab实现:从信号处理到高清成像

本文深入对比了雷达成像中三种核心算法:经典的距离多普勒算法(RD)、基于稀疏重建的压缩感知算法(CS)以及高精度的快速多通道获取算法(RMA)。通过详细的Matlab实战代码,从原理拆解到实现步骤,分析了各自在计算效率、成像精度、数据需求和适用场景上的优劣,为工程选型与算法实践提供了清晰指南。

weixin_29095587的博客 452

STM32 MCU解除读保护的方法及STM32CubeProgrammer的应用

下面是一个简单的源代码示例,演示如何在STM32CubeProgrammer中使用命令行界面(Command-Line Interface,CLI)来解除STM32 MCU的读保护。通过按照这些步骤操作,您可以成功解除STM32 MCU的读保护,并在需要的时候进行调试、烧录或修改固件。模块调用了STM32CubeProgrammer的命令行界面(CLI),并传递了相应的参数来解除STM32 MCU的读保护。请注意,在进行任何与读保护相关的操作之前,请确保您拥有合法的授权和权利,以避免潜在的安全风险。

ZwcCsharp的博客 3550

汉明距离(位运算,清晰图解)

题目 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 2^31. 示例: 解题思路 要找出两个整数对应二进制位不同的位置的数目,对 位运算 有所了解的童鞋,应该会很自然地想到位运算中的 按位异或,通过将两个整数对应二进制位 按位异或(同一位置,元素相同异或得 0 或者得 1) 找到其二进制不同的位置,找到之后,只需要统计异或的结果中 1 的个数即可。 举栗 以 示例 为栗,如

1523

AUTOSAR进阶图解==>AUTOSAR_SWS_ADCDriver

本文深入解析了AUTOSAR ADC Driver的架构设计和技术实现。主要内容包括:1)ADC Driver在AUTOSAR分层架构中的定位及核心功能;2)详细的模块架构设计,涵盖初始化管理、组转换管理、优先级处理等核心子组件;3)全面的配置模型说明,包括主配置类、通用配置、通道配置等关键数据结构;4)状态机机制和操作序列分析。通过分层设计和标准化接口,ADC Driver实现了硬件抽象和软件解耦,提供了良好的可移植性和可维护性。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 789

距离度量 —— 汉明距离(Hamming Distance)

汉明距离(Hamming Distance),就是将一个字符串变成另一个字符串所需要的替换次数。举个例子,只要将 式1 中标红的部分换一下即可。只要将 式1 中标红的部分换一下即可。只要将 式1 中标红的字母换一下即可。汉明重量 就是字符串相对于相同长度的零字符串的汉明距离;也就是说,它是字符串中非零的元素个数:对于二进制字符串来说,就是 1 的个数,所以 的汉明重量是 4。因此,如果向量空间中的元素 a 和 b 之间的汉明距离等于它们汉明重量的差 。...

繁依Fanyi的博客 7283

7、复杂分布式水文模型的两阶段代理参数校准框架

本文提出了一种针对复杂分布式水文模型的两阶段代理参数校准框架,旨在解决可变入渗能力模型(VIC)在参数校准过程中计算成本高、耗时长的问题。该框架结合AdaBoost与反向传播神经网络(BPNN)构建高精度代理模型,并引入ε-NSGA II多目标优化算法加速搜索最优参数集。通过在兰江流域和湘江流域的实验验证,该方法在校准效率上提升了约20倍,同时保持了高模拟精度(NSE接近1,Bias接近0)。框架采用两阶段设计:第一阶段(SM-I)快速筛选关键参数范围,第二阶段(SM-II)进行高精度预测,显著减少了无效计

apple5的专栏 87

《一》:LBE,VR 大空间系列——场景环境需求解析

当前,大量 VR 体验活动在室内场地开展。因此,对于场地照明有特定要求:除天花板外,场地的所有表面均需有照明覆盖。这是为了保证玩家无论处于场地的哪个位置,地面与墙面都不会出现明显的影子。场地内不建议安装射灯或高强度的点光源,若已安装此类灯具,需使用柔光板进行遮盖。此外,要避免在阳光下使用 VR 设备台。参考图(请忽略其中Maker标签)

unitygroup的博客 944

461. 汉明距离(简单题)

题目描述: 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 来源:力扣(LeetCode) ...

闭关修炼 539

建行报专版报道建设银行金融科技发展历程

经过十多年的建设,总行前中后台部门都有了自己的业务系统,但系统“部门”特征显著,渠道、客户、产品的横向整合不足,产品系统层次化、结构化、参数化程度不高,渠道支持产品快速部署以及跨渠道服务能力不足,管理分析类系统建设相对滞后,系统较弱的可扩展能力在应对高速增长的交易量时已疲态尽显,同时安全稳定运行的压力和风险日益积聚。站在新的历史起点上,科技条线将聚焦主责主业,完善信息科技管理体系,紧紧围绕安全生产中心任务,持续推动技术能力复用共享和自主可控,为全行做好金融五篇大文章,推动业务高质量发展提供技术支撑。

银行信息系统应用架构详解 387

简单-LeetCode 461.汉明距离

题目

weixin_43912756的博客 246

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LeetCode 461 汉明距离(简单 位运算)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

hgp0487561的博客 315

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【力扣-简单】461. 汉明距离

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/hamming-distance 【位移】 Brian Kernighan算法的应用 public int hammi

qq_39380838的博客 179

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【LeetCode】第461题——汉明距离(难度:简单)

【LeetCode】第461题——汉明距离(难度:简单)题目描述解题思路代码详解思路一:整体异或,逐位查找1的个数思路二:整体异或,利用自带方法数出1的个数思路三:利用布赖恩·克尼根算法查找1的个数注意点 题目描述 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释:1 (0 0 0 1) 4 (0 1 0 0) ↑

Se7en_Dayz的博客 213

461. 汉明距离难度简单

leecode

jackson_j的博客 116

461. 汉明距离(简单)

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。给你两个整数 x 和 y,计算并返回它们之间的汉明距离。输入:x = 1, y = 4。

Rock在学习的博客 414

LT简单题461-汉明距离

题目链接 题目描述: 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数x和y,计算并返回它们之间的汉明距离。 示例 1: 输入:x = 1, y = 4 输出:2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 示例 2: 输入:x = 3, y = 1 输出:1 方法一:问题转化 分析: 两个整数之间的汉明距离是对应位置上数字不同的位数。 根据以上...

weixin_48344534的博客 270

简单题--461. 汉明距离

力扣刷题 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 解题思路:解题关键点在于异或的使用 异或就是相同为0 不同为1 而 1 的二进制为001 ,4的二进制为100 1异或4 也就是1^4 就等于10

weixin_45209397的博客 230

【461. 汉明距离】【简单】【位运算/异或】

题目链接 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 很简单,位运算异或,位不同那么异或得到的是1,计算异或结果有...

weixin_33991727的博客 162

位运算简单 LeetCode461. 汉明距离

461. 汉明距离 描述 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 分析 异或运算,计算二进制1的个数 class Solution { public int hammingDistance(int x, int y) { int tmp = x ^ y; int count = 0; for(int i = 0; i < 32; i++){

31楼下小黑的博客 217

【位运算-简单】461. 汉明距离

【题目】 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 【注意】 0 ≤ x, y < 231. 【示例】 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 【代码】 【Python】 class Solution: def hammingDistance(self, x: int, y: int) -&

... 217

java leetcode之[神奇的位运算 简单]461. 汉明距离

题目的链接在这里:https://leetcode-cn.com/problems/hamming-distance/ 目录题目大意一、示意图二、解题思路位置比较 题目大意 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 一、示意图 二、解题思路 当然有个笨方法 就是先把这两个数 转换为2进制,然后再一个一个的比较 记录 位置比较 代码如下: class Solution { public int

wzw的博客 1139

leetcode461. 汉明距离(Java)简单

问题描述:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。上代码,拿去即可运行: public class Test2 { public static void main(Stri...

GQ_666的博客 148
上一篇: 【简单】1252. 奇数值单元格的数目
下一篇: 【简单】面试题06. 从尾到头打印链表
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值