leetcode------Bitwise AND of Numbers Range

标题: 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

 

posted @ 2015-04-23 16:53  pku_smile  阅读(191)  评论(0编辑  收藏  举报