题解 | 求最大连续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)

全部评论

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
企业都这么缺人了吗?缺人为什么还给白菜价!
真起不了响亮的名字:我给你出个主意,把公司报出来,让牛友去投,岂不美哉
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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