0
点赞
收藏
分享

微信扫一扫

2022/04/121 leetcode 每日一题 868. 二进制间距

春意暖洋洋 2022-04-24 阅读 61
leetcode

        说点题外话,最近状态真的好差好差,希望自己能慢慢调节过来,也祝学习的各位努力有所回报。

        水逆退散!!!!!!!!

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
举报

相关推荐

0 条评论