題目描述
求一個byte數字對應的二進制數字中1的最大連續數,例如3的二進制為00000011,最大連續2個1,
解題代碼
bit_num = 0b101110
k = 0
while bit_num != 0:
bit_num &= (bit_num << 1)
k += 1
print(k) # 輸出:3
總結
上面的演算法是在網站題目下方的“討論”區中看到的非常厲害的一個演算法,題目本身其實很簡單,可以很容易解出來,但是就效率而言,上面的演算法效率無疑是很好的,可以參考下,
題目及解題演算法來自:求最大連續bit數
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/234651.html
標籤:其他
