class Solution:
def binaryGap(self, N):
"""
:type N: int
:rtype: int
"""
m = bin(N)[2:]
L = []
out = 0
for i in range(len(m)):
if m[i] == "1":
L.append(i)
if len(L) <= 1:
return 0
out = max([abs(L[j] - L[j+1]) for j in range(len(L)) if j < (len(L) -1)])
return out
思路:找到所有 “1”的索引 求其最大距离值
本文介绍了一种算法,用于计算给定整数转换为二进制后的最大连续0位数(不被1位打断)。通过遍历二进制字符串并记录下所有1位出现的位置,然后找出这些位置之间的最大距离,即为所求的最大二进制间隔。
283

被折叠的 条评论
为什么被折叠?



