题解 | #求最大连续bit数#

求最大连续bit数

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

while True: try:

    n = int(input())  # 获取整数
    if  n<1 or n>500000:
        break
    s= bin(n)   # 转换二进数
    t = str(s).replace('0b', '')  # 字符串转换去掉0b
    v = t.split('0')                # 从0截取,获取列表
    p = set(v)
    #print(p)
    print(len(str(max(p))))   # 这步参考解析,利用了集合去重('','1','11'),反正1越多,max的值越大,再转成字符串,计数,比我的循环要快

one_num = 0

#print(v)

for i in v :

if len(i)>=one_num:

one_num=len(i)

print(one_num)

except:
    break

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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