1 文巾解题 191. 位1的个数
生活随笔
收集整理的這篇文章主要介紹了
1 文巾解题 191. 位1的个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 題目描述
2 解題思路
2.1?方法1:直接調用bin和列表中的count函數
class Solution:def hammingWeight(self, n: int) -> int:return bin(n).count('1')?2.2 方法2:移位+比較每一位是否為1
class Solution:def hammingWeight(self, n: int) -> int:count=0while(n!=0):if(n&1==1):count+=1else:passn=n>>1return(count)2.3 方法3;布萊恩-科尼根算法
當我們在number和number-1上做and位運算的時候,原數字最右邊等于1的那一比特會被移除
這樣的時間比方法2小(方法2是每一位都要考慮)
class Solution:def hammingWeight(self, n: int) -> int:count=0while(n!=0):n=n&(n-1)count+=1return(count)?
總結
以上是生活随笔為你收集整理的1 文巾解题 191. 位1的个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科研--目录
- 下一篇: NTU生活:NTU景点