Python 最長全1串是指一個二進制串中連續的全1子串中最長的長度。這個問題可以使用一些算法解決,下面是 Python 中的一種實現。
def max_consecutive_ones(n): max_len = 0 cur_len = 0 while n: if n & 1: # 如果當前 bit 是 1 cur_len += 1 # 更新最長長度 if cur_len >max_len: max_len = cur_len else: cur_len = 0 # 重置當前長度 n >>= 1 # 將 bit 按位右移 return max_len
代碼解釋:
首先,定義最長長度和當前長度的變量,初始都為 0。然后,使用一個 while 循環來遍歷給定的二進制串中的每個 bit,如果當前 bit 是 1,則將當前長度加 1,并且更新最長長度;如果是 0,則當前長度重置為 0;最后將 bit 右移一位,以便遍歷下一個 bit。
使用這個函數可以輕松地求出給定二進制串中最長的連續全 1 的長度。
上一篇python 有偏協方差
下一篇vue debug缺點