当前位置:网站首页>leetcode 461. 汉明距离
leetcode 461. 汉明距离
2022-08-03 20:06:00 【会编程的露娜】
两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。
给你两个整数 x 和 y,计算并返回它们之间的汉明距离。
示例 1:
输入:x = 1, y = 4
输出:2
解释:
1 (0 0 0 1)
4 (0 1 0 0)
~~~~~~ ↑ ~~~ ↑
上面的箭头指出了对应二进制位不同的位置。
提示:
0 <= x, y <= 231 - 1
思路:
找2个数相同位置上出现不同数字的情况,也就是说如果一个为0,那么另一个就得为1。
可以看成先把它们聚到一个数上,然后判断二进制的32位中有多少是1。
(有多少是1那就代表之前2个数在合并时有多少个相同位置的数是不同的,口诀:同0异1)
class Solution {
public:
int hammingDistance(int x, int y) {
int he=0;
x^=y;
while(x){
x&=(x-1);
++he;
}
return he;
}
};
还有一种方法就是: C++内置了计算二进制表达中 1 的数量的函数
class Solution {
public:
int hammingDistance(int x, int y) {
return __builtin_popcount(x^y); //就是这个函数 __builtin_popcount()
}
};
边栏推荐
- NNLM、RNNLM等语言模型 实现 下一单词预测(next-word prediction)
- xss.haozi练习通关详解
- 虚拟机vmware设置nat模式上网
- 华为设备配置VRRP负载分担
- 危化企业双重预防机制数字化建设进入全面实施阶段
- 若依集成easyexcel实现excel表格增强
- RNA-ATTO 390|RNA-ATTO 425|RNA-ATTO 465|RNA-ATTO 488|RNA-ATTO 495|RNA-ATTO 520近红外荧光染料标记核糖核酸RNA
- Detailed steps for tensorflow-gpu2.4.1 installation and configuration
- 力扣206-反转链表——链表
- 高位套牢机构,用友网络的信任危机是如何产生的?
猜你喜欢
随机推荐
华为设备配置VRRP负载分担
若依集成browscap读取浏览器用户代理
微导纳米IPO过会:年营收4.28亿 君联与高瓴是股东
剑指 Offer II 044. 二叉树每层的最大值-dfs法
涨薪5K必学高并发核心编程,限流原理与实战,分布式计数器限流
Go语言为任意类型添加方法
利用 rpush 和 blpop 实现 Redis 消息队列
async 和 await 原来这么简单
第三方验收测试报告有什么作用?如何获取权威软件测试报告?
Mapper输出数据中文乱码
力扣59-螺旋矩阵 II——边界判断
Node version switching tool NVM and npm source manager nrm
【leetcode】剑指 Offer II 008. 和大于等于 target 的最短子数组(滑动窗口,双指针)
开源生态研究与实践| ChinaOSC
【leetcode】剑指 Offer II 007. 数组中和为 0 的三个数(双指针)
消除对特权账户的依赖使用Kaniko构建镜像
基础软件与开发语言开源论坛| ChinaOSC
ERROR: You don‘t have the SNMP perl module installed.
ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动
揭秘5名运维如何轻松管理数亿级流量系统









