Leetcode 461.Hamming Distance
来源:互联网 发布:怎么测试网络延迟 编辑:程序博客网 时间:2024/05/16 17:41
461.Hamming Distance
Description
The Hamming distance between two integers is the number of positions at which the corresponding bits are different.
Given two integersx
andy
, calculate the Hamming distance.
Note:
0 ≤x, y
< 231
Example: Input: x = 1, y = 4Output: 2Explanation: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ The above arrows point to positions where the corresponding bits aredifferent.
Solution:
/*题目的意思是 输入两个int型变量x,y 编写函数返回x,y二进制位中有多少位不同。我的做法是 借用一个中间变量 1、10、100、1000、10000...... 就是十进制的 1、2、4..... 用这个中间变量分别和x、y与运算,如果结果相同那么说明x、y对 应位相同,否则不同。 */int hammingDistance(int x, int y) { int midNum = 1,rnt = 0;; int maxNum = x > y?x:y; while (midNum <= maxNum) { if ((midNum & x) != (midNum & y)) rnt++; midNum <<= 1; if (!midNum) break; //之前没有这行,会溢出,导致死循环。 } return rnt;}//在讨论区里面,我发现了其他写法,也陈列如下:int hammingDistance(int x, int y) { int cmpNum = x ^ y; int rnt = 0; while (cmpNum) { rnt += cmpNum % 2; cmpNum /= 2; } return rnt;}int hammingDistance(int x,int y) { int temp = x ^ y; if (!temp) return 0; return temp % 2 + hammingDistance(x / 2,y / 2);}
阅读全文
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-461. Hamming Distance
- Leetcode 461. Hamming Distance
- LeetCode--461. Hamming Distance
- 461. Hamming Distance [LeetCode]
- [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
- [LeetCode]461.Hamming Distance
- 代码质量标准
- eclipse中使用user Libraries报空指针异常
- 【Spring】事务(transactional)之初步理解
- hibernate入门的基本配置
- CentOS安装mysql数据库
- Leetcode 461.Hamming Distance
- Kotlin-33.异常(Exception)
- C++String深浅拷贝
- 项目中使用Bootstrap以及基于bootstrap的 Bootgrid
- fatal: unable to access 'url': Failed connect to githup.com:443; No error
- 523. Continuous Subarray Sum
- Leetcode 561.Array Partition I
- IAR STM32 函数和变量的绝对地址定位
- 区别