说点题外话,最近状态真的好差好差,希望自己能慢慢调节过来,也祝学习的各位努力有所回报。
水逆退散!!!!!!!!
1.题目
2.求解
简单题,通过lowbit去求得最低位的值,math.log获得位置,每次和前一位的位置相减即可。
3.代码
class Solution:
def binaryGap(self, n: int) -> int:
import math
def lowbit(x):
return x & -x
num = lowbit(n)
n -= num
ans = 0
idx = math.log(num, 2)
while n > 0:
num = lowbit(n)
n -= num
num = math.log(num, 2)
c = num - idx
idx = num
ans = max(int(c), ans)
return ans