LeetCode #201: Bitwise AND of Numbers Range
来源:互联网 发布:网络剧河神百度云资源 编辑:程序博客网 时间:2024/05/20 12:50
Problem Statement
(Source) 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.
Analysis
The result is the longest common prefix
(left-padding using 0’s) of binary representations of m
and n
.
Solution 1
class Solution(object): def rangeBitwiseAnd(self, m, n): """ :type m: int :type n: int :rtype: int """ while m < n: n &= n-1 return n
Solution 2
class Solution(object): def rangeBitwiseAnd(self, m, n): """ :type m: int :type n: int :rtype: int """ p = 0 while m != n: m >>= 1 n >>= 1 p += 1 return m << p
0 0
- java_复制文件及目录到另一个盘下
- Oracle数据库中Scott用户的解锁
- MySQL中timestamp字段的一些规则
- 理解 LSTM 网络
- session和cookie的使用总结
- LeetCode #201: Bitwise AND of Numbers Range
- c#建造者模式
- [Jsoup]Jsoup Html页面处理简单用法
- 微信測試號申請
- 2016 青岛区域赛网络赛1003 HDU 5880 Family View
- STEAM俱乐部--制作月球灯
- 洛谷月赛 U4728 小L的牛栏
- 右左法则----复杂指针解析(函数指针与数组指针)
- Android实战技巧之四十:Android5.1.1源代码编译与烧写