题解 | 求最大连续bit数

求最大连续bit数

https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2

import sys

n = int(input())

if n == 0:
    print(0)

A = []
B = []

while n > 0:  # 把n分解成2进制数
    if n % 2 == 1:
        A.append(1)
    else:
        A.append(0)
    n = n // 2

count = 0
i = 0
while i < len(A):  # 统计n中有多少个1,多少个0
    if A[i] == 1:
        count += 1
    else:
        B.append(count)
        count = 0
    i += 1

# 处理最后一组连续的1
if count > 0:
    B.append(count)

j = 0
Max = B[0]
while j < len(B):
    if B[j] > Max:
        Max = B[j]
    j += 1
print(Max)

全部评论

相关推荐

震撼沃玛一整年:查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务