标题: | Bitwise AND of Numbers Range |
通过率: | 25.7% |
难度: | 中等 |
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.
就是将区间内的所有数字按位与的结果,如果按照每个数字的去与,那么是超时的,直接贴出代码把。。这个只能生办硬套:
1 class Solution: 2 # @param m, an integer 3 # @param n, an integer 4 # @return an integer 5 def rangeBitwiseAnd(self, m, n): 6 offset=0 7 while m !=n : 8 m>>=1 9 n>>=1 10 offset+=1 11 return m<<offset