Bitwise AND of Numbers Range
来源:互联网 发布:可以听pdf的软件 编辑:程序博客网 时间:2024/06/05 09:20
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.
这题如果按照题意做会超时,用移位的操作很妙,因为是并操作,其实只要最小的数和最大的数从左往右取相同的位即可。遇到不同就退出,因为他们中间肯定有数该为为0。
class Solution {public: int rangeBitwiseAnd(int m, int n) { int p = 0; while(m != n) { m = m >> 1; n = n >> 1; p++; } return m << p; } };
0 0
- 第58题 Maximum Subarray
- C/C++的四大内存分区
- 数据结构之贪心算法(背包问题的思考)-(十)
- 从 Yii 1.1升级到 Yii2
- android常见的事件
- Bitwise AND of Numbers Range
- 以按键事件为例阐述消息传递机制
- hdu4407 Sum(容斥原理)
- 解题报告 之 SOJ2714 Mountains(II)
- 死锁
- C# + Xamarin 开发应用-- Call API时遇到错误: Error: NameResolutionFailure
- java 死锁及避免死锁
- Android实现自定义AlertDialog的自下向上的动画效果(并消除dialog边框)
- Test