【发布时间】:2021-08-09 03:42:48
【问题描述】:
我正在研究一种在二进制数中查找尾随零数量的方法,并在 C (link) 中找到了一个解决方案。我正在寻找 Python 中的解决方案!
Binary Input -> 1000
Output: 3
Binary Input -> 101101001100
Output: 2
Binary Input -> 1010001010000
Output: 4
Binary Input -> 100000001
Output: 0
有没有一种有效的方法可以做到这一点,而无需将二进制数作为字符串进行迭代或使用字符串方法进行过滤?基本上,我可能有大量非常非常大的二进制数,所以我试图找到比简单地将其作为字符串迭代更有效的方法。
编辑:
这是我的尝试-
def trailingzeros(l):
count = 0
a = [i for i in str(l)]
for i in reversed(a):
if i=='0':
count+=1
else:
break
return count
注意:我正在寻找一种利用输入的二进制性质的解决方案。
【问题讨论】:
-
如问题中所述,我正在寻找 python 中的解决方案,而不是 C 中的解决方案,正如这个问题 stackoverflow.com/questions/7812044/… 所回答的那样