461 Hamming Distance
来源:互联网 发布:知乎 拉丁美洲 编辑:程序博客网 时间:2024/06/08 12:14
一、题目简述
汉明距离为两个整数之间不同比特数的位数。给定两个整数
x,y ,计算汉明距。
0≤x,y≤231
二、编程思路
比较不同两个整数
x,y 比特数不同的位数,一种思路可以对其依次右移,比较其最低位是否相同,使用累加器计算相同的位数。
也可以先将x,y 进行异或得到z ,则z 二进制串中1的个数即是所求汉明距。从而将问题转化为求二进制数中1的个数。
三、代码实现
使用第二种方法,实现如下:
class Solution {public: int hammingDistance(int x, int y) { int tmp, dis = 0; tmp = x^y; while (tmp > 0){ if (tmp & 1 == 1) dis++; tmp >>= 1; } return dis; }};
四、心得体会
使用位操作可以提高程序速率。
0 0
- [LeetCode-461]Hamming Distance
- Leetcode 461 Hamming Distance
- Leetcode 461 Hamming Distance
- leetcode-461-Hamming Distance
- leetcode 461: Hamming Distance
- leetcode--461 : Hamming Distance
- 【LeetCode】461Hamming Distance
- LeetCode #461: Hamming Distance
- 461 Hamming Distance
- LeetCode 461 Hamming Distance
- 461 Hamming distance
- Leetcode #461 Hamming Distance
- 【LeetCode】461 Hamming Distance
- LeetCode 461 Hamming Distance
- leetcode.461 Hamming Distance
- LeetCode-461 Hamming Distance
- leetcode-461(Hamming Distance)
- 【LeetCode】461 Hamming Distance
- Excel.Application使用手册
- python中从str中提取元素到list以及将list转换为str
- 【数据结构郝斌】2、预备知识
- maven创建web工程找不到Spring配置文件
- POJ正常血压
- 461 Hamming Distance
- redis安装手册
- codevs1170 双栈排序(2008年NOIP全国联赛提高组)
- 五款轻量级的web前端框架和H5前端框架
- Linux中将capslock键映射成ctrl键
- LeetCode—Divide and Conquer--53. Maximum Subarray
- Python3调试记录
- 50道Java线程面试题
- 算法训练 关联矩阵