当前位置:网站首页>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()
}
};
边栏推荐
猜你喜欢
Line the last time the JVM FullGC make didn't sleep all night, collapse
CLIP论文解读
怎么将自己新文章自动推送给自己的粉丝(巨简单,学不会来打我)
危化企业双重预防机制数字化建设进入全面实施阶段
信使mRNA甲基化偶联3-甲基胞嘧啶(m3C)|mRNA-m3C
Reveal how the five operational management level of hundreds of millions of easily flow system
力扣707-设计链表——链表
单调栈及其应用
2022 年值得尝试的 7 个 MQTT 客户端工具
力扣206-反转链表——链表
随机推荐
149. 直线上最多的点数-并查集做法
Alexa染料标记RNA核糖核酸|RNA-Alexa 514|RNA-Alexa 488|RNA-Alexa 430
多模态 参考资料汇总
Detailed explanation of JWT
EasyCVR平台海康摄像头语音对讲功能配置的3个注意事项
ECCV2022 | 用于视频问题回答的视频图Transformer
力扣707-设计链表——链表
2022.8.2
利用 rpush 和 blpop 实现 Redis 消息队列
2022 年值得尝试的 7 个 MQTT 客户端工具
Benchmarking Lane-changing Decision-making for Deep Reinforcement Learning
一种能有效缓解环境噪声对音频质量干扰的方案
C中的数据存储
揭秘5名运维如何轻松管理数亿级流量系统
【leetcode】剑指 Offer II 007. 数组中和为 0 的三个数(双指针)
RNA核糖核酸修饰RNA-HiLyte FluorTM 405荧光染料|RNA-HiLyte FluorTM 405
dpkg强制安装软件
百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
Go语言为任意类型添加方法
调用EasyCVR接口时视频流请求出现404,并报错SSL Error,是什么原因?