程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

[Leetcode brush questions Python] 191. The number of 1s

編輯:Python

1 topic

Write a function that takes an unsigned integer (in the form of a binary string) as input and returns the number of '1' digits in its binary expression (also known as Hamming weight).

Note that the input is an integer value, not a string
Example 1:

Input: 0000000000000000000000000001011
Output: 3
Explanation: In the input binary string 00000000000000000000000000001011, a total of three bits are '1'.

2 parsing

Bitwise operation: every time n & (n - 1) is performed, the last occurrence of 1 in the binary of n is eliminated.
The number of operations to perform n & (n - 1) to make n become 0 is the number of 1s in the binary of n.

3 Python implementation

class Solution:def hammingWeight(self, n: int)-> int:res = 0while n>0:res+=1n &=n-1return res

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved