leetcode 461 hammingDistance
来源:互联网 发布:无法更改mac地址 编辑:程序博客网 时间:2024/06/03 02:25
Problem:
给两个小于2^31的整数,求出他们对应的二进制数中对应位数不相同的个数。
Solution:
两个数异或得到的数上1对应的位数就是之前不相同的位数,求出共有多少个1即可。
note:
擅于利用下标和返回值。
//Solution1://效率最高,bitCount底层实现是求出每两位的1的个数,然后4位,8位,以此类推。class Solution {public: int bitCount(int i) { i = i - ((i >> 1) & 0x55555555); i = (i & 0x33333333) + ((i >> 2) & 0x33333333); i = (i + (i >> 4)) & 0x0f0f0f0f; i = i + (i >> 8); i = i + (i >> 16); return i & 0x3f; } int hammingDistance(int x, int y) { return bitCount(x^y); }};//Solution2:/**n-1使n的最右边的一个1移至更低位。*导致n&(n-1)可以去掉最右边的1。*/class Solution {public: int hammingDistance(int x, int y) { int n = x^y, tot = 0; while(n != 0) { tot++; n = n & (n-1); } return tot; }};
1 0
- leetcode 461 hammingDistance
- LeetCode No.461 HammingDistance
- hammingDistance
- LeetCode Weekly Contest 13-HammingDistance【易】
- LC-HammingDistance
- 461.HammingDistance解题
- LeetCode461-HammingDistance-JAVA
- Leetcode 461(Java)
- [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 python 461
- LeetCode #461: Hamming Distance
- LeetCode 461 191 477
- 从上往下打印二叉树
- mac上用终端启动和关闭mysql服务
- Redis 源码阅读笔记1:zmalloc
- 关于canvas 画布
- cocos2d-x坑的集合
- leetcode 461 hammingDistance
- mysql7.x单独安装mysql
- [技术] crm分页列表显示. {word笔记转html复制}
- 连续第一百零五天
- Shiro安全框架入门篇(登录验证实例详解与源码)
- DP (入门题)数塔
- Mysql的模糊查询
- PS 清晰度和对比度滤镜 Topaz Clarity v1.1.0 Windows 中文汉化版
- linux 下安装jdk