leetcode每日一题
[1738] 找出第 K 大的异或坐标值
[1744] 你能在你最喜欢的那天吃到你最喜欢的糖果吗?
[231] 2的幂
堆排复习
[461] 汉明距离
[1190] 反转每对括号间的子串
[1707] 与数组中元素的最大异或值
[810] 黑板异或游戏
[1035] 不相交的线
[692] 前K个高频单词
[872] 叶子相似的树
[1442] 形成两个异或相等数组的三元组数目
[993] 二叉树的堂兄弟节点
[421] 数组中两个数的最大异或值
[13] 罗马数字转整数
[12] 整数转罗马数字
[1269]. 停在原地的方案数
[1310] 子数组异或查询
[1734] 解码异或后的排列
本文档使用 MrDoc 发布
-
+
首页
[461] 汉明距离
## [461] 汉明距离 [力扣原题链接](https://leetcode-cn.com/problems/hamming-distance/) 两个整数之间的[汉明距离](https://baike.baidu.com/item/%E6%B1%89%E6%98%8E%E8%B7%9D%E7%A6%BB)指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 `x` 和 `y`,计算它们之间的汉明距离。 **注意:** 0 ≤ `x`, `y` < 2^31^ . **示例:** <pre><strong>输入:</strong> x = 1, y = 4 <strong>输出:</strong> 2 <strong>解释:</strong> 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。</pre> ### 思路 求两个数二进制位不同的位的数量,根据异或相异为1的性质,求两个值异或后的数二进制位有多少个1即可。 ### 代码 ```cpp class Solution { public: int hammingDistance(int x, int y) { int nox_num = x^y; int count = 0; while(nox_num > 0) { int num = nox_num % 2; nox_num /= 2; if(num == 1)count ++; } return count; } }; ```
ty
2021年5月27日 10:09
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
阅读量
次
本站总访问量
次
本站访客数
人次
Markdown文件
分享
链接
类型
密码
更新密码