题解 | #求最大连续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
查看12道真题和解析