在Python中以n的二进制形式查找最长连续运行1的程序

假设我们有一个非负值 n,我们必须在其二进制表示中找到最长的连续 1 的长度。

所以,如果输入像n = 1469,那么输出就会是4,因为156的二进制表示是“10110111101”,所以有四个连续的1

示例

让我们看看以下实现以获得更好的理解 -

def solve(n):
   count = 0
   while n != 0:
      n = n & (n << 1)
      count = count + 1

   return count

n = 1469
print(solve(n))

输入

1469
输出结果
4

猜你喜欢