当前位置:网站首页>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()
}
};
边栏推荐
猜你喜欢

async 和 await 原来这么简单

亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得

信使mRNA甲基化偶联3-甲基胞嘧啶(m3C)|mRNA-m3C

利用 rpush 和 blpop 实现 Redis 消息队列

ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动

汉源高科8光口12电口交换机千兆8光8电12电16电网管型工业以太网交换机

力扣203-移除链表元素——链表

详解AST抽象语法树

Edge box + time series database, technology selection behind Midea's digital platform iBuilding

codeforces:C. Maximum Subrectangle【前缀和 + 贪心 + 最小子数组和】
随机推荐
友宏医疗与Actxa签署Pre-M Diabetes TM 战略合作协议
pytorch框架实现老照片修复功能详细演示(GPU版)
钱江摩托某型号产品ECU货不对版 消费者知情权应如何保障?
async 和 await 原来这么简单
Edge box + time series database, technology selection behind Midea's digital platform iBuilding
详解AST抽象语法树
redis常用命令,HSET,XADD,XREAD,DEL等
不要再用if-else
信使mRNA甲基化偶联3-甲基胞嘧啶(m3C)|mRNA-m3C
alicloud3搭建wordpress
1161 最大层内元素和——Leetcode天天刷【BFS】(2022.7.31)
DeepMCP网络详解
Pytorch GPU 训练环境搭建
2022 CCF中国开源大会会议通知(第三轮)
亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得
glide set gif start stop
刷题错题录1-隐式转换与精度丢失
NNLM、RNNLM等语言模型 实现 下一单词预测(next-word prediction)
PHP according to the longitude and latitude calculated distance two points
头条服务端一面经典10道面试题解析