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