Leetcode练习(Python):位运算类:第201题:数字范围按位与:给定范围 [m, n],其中 0 <= m <= n <= 2147483647,
2021-01-18 20:20
标签:dex ret 程序 位运算 暴力 highlight solution 返回 turn 题目: 数字范围按位与:给定范围 [m, n],其中 0
思路: 因为是连续递增的数,可以通过移位来实现。 程序1:暴力大法,自然超时。 程序2: class Solution:
def rangeBitwiseAnd(self, m: int, n: int) -> int:
if m 2147483647:
return
if n 2147483647:
return
result = m
for index in range(m, n + 1):
result = result & index
return result
class Solution:
def rangeBitwiseAnd(self, m: int, n: int) -> int:
if m 2147483647:
return
if n 2147483647:
return
auxiliary = 0
while m > 1
n = n >> 1
auxiliary += 1
result = m
文章标题:Leetcode练习(Python):位运算类:第201题:数字范围按位与:给定范围 [m, n],其中 0 <= m <= n <= 2147483647,
文章链接:http://soscw.com/index.php/essay/43805.html