201. Bitwise AND of Numbers Range
2016-07-04 11:03
465 查看
Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive.
For example, given the range [5, 7], you should return 4.
题意:返回m到n之间所有数的与
思路:低位有不同,则低位与的结果为0,去除低位的不同,直到m n相等的时候,说明此后到位都是相同的。返回这个结果即可。
class Solution {
public:
int rangeBitwiseAnd(int m, int n) {
int p = 0;
while (m != n){
m >>= 1;
n >>= 1;
p++;
}
return m << p;
}
};
For example, given the range [5, 7], you should return 4.
题意:返回m到n之间所有数的与
思路:低位有不同,则低位与的结果为0,去除低位的不同,直到m n相等的时候,说明此后到位都是相同的。返回这个结果即可。
class Solution {
public:
int rangeBitwiseAnd(int m, int n) {
int p = 0;
while (m != n){
m >>= 1;
n >>= 1;
p++;
}
return m << p;
}
};
相关文章推荐
- java可重入锁
- Python numpy学习
- 记录proguard混淆问题
- Leetcode 66. Plus One
- AFNetworking的简单【post】【get】使用
- 二维码的生成
- Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such file or director
- Android VideoView 全屏
- 权限管理——RBAC模型总结
- java的三层架构01_展示层
- 【陷阱系列】SQLServer in/not in 陷阱
- iOS-App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure
- 2016精选Java面试题各个击破一
- UVA - 11246 - K-Multiple Free set(容斥原理)
- JavaScript中的this
- TortoiseSVN 、VisualSVN Server 学习
- Java IO: System.in, System.out, System.err
- C++ 抽象类一(多继承与赋值兼容性原则)
- Android之补间动画
- JSP连接MySQL