Bitwise AND of Numbers Range
2017-05-09 20:25
351 查看
Bitwise AND of Numbers Range
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.
Credits:
Special thanks to @amrsaqr for adding this problem and creating all test cases.
解析:
多个连续的数相与的结果就是这些数左边相同的那些位,也即是最大数与最小数左边相同的位
代码:
class Solution {
public:
int rangeBitwiseAnd(int m, int n) {
unsigned int mask=INT_MAX;
while(m!=n)
{
mask<<=1;
m&=mask;
n&=mask;
}
int ans=mask&n;
return ans;
}
};
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.
Credits:
Special thanks to @amrsaqr for adding this problem and creating all test cases.
解析:
多个连续的数相与的结果就是这些数左边相同的那些位,也即是最大数与最小数左边相同的位
代码:
class Solution {
public:
int rangeBitwiseAnd(int m, int n) {
unsigned int mask=INT_MAX;
while(m!=n)
{
mask<<=1;
m&=mask;
n&=mask;
}
int ans=mask&n;
return ans;
}
};
相关文章推荐
- Bitwise AND of Numbers Range问题及解法
- LeetCode Bitwise AND of Numbers Range
- Bitwise AND of Numbers Range
- LeetCode 201 Bitwise AND of Numbers Range
- leetcode 201: Bitwise AND of Numbers Range
- LeeCode No.201 Bitwise AND of Numbers Range
- LeetCode-Bitwise AND of Numbers Range
- leecode_201 Bitwise AND of Numbers Range
- 【leetcode】Bitwise AND of Numbers Range
- [Leetcode] Bitwise AND of Numbers Range
- 【位操作】Bitwise AND of Numbers Range
- Leetcode Bitwise AND of Numbers Range
- Bitwise AND of Numbers Range
- LeetCode 201-Bitwise AND of Numbers Range
- [LeetCode] Bitwise AND of Numbers Range
- [LeetCode#201] Bitwise AND of Numbers Range
- Bitwise AND of Numbers Range
- leetcode Bitwise AND of Numbers Range
- LeetCode -- Bitwise AND of Numbers Range
- leetcode之Bitwise AND of Numbers Range