Write a function that takes an unsigned integer and returns the number of ’1‘ bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11‘ has binary representation 00000000000000000000000000001011
, so the function should return 3.
计算给出的整数中二进制的1的数量。
对HammingWeight进行相关拓展。
C++:
1 class Solution { 2 public: 3 int hammingWeight(uint32_t n) { 4 int cnt=0; 5 while(n!=0) 6 { 7 cnt+=n&1; //not cnt=cnt+n&1 because + is prior than &, and & than += 8 n=n>>1; 9 } 10 return cnt; 11 } 12 };
Python:
1 class Solution: 2 # @param n, an integer 3 # @return an integer 4 def hammingWeight(self, n): 5 cnt=0; 6 while n !=0: 7 cnt+=n&1 8 n=n>>1 9 return cnt
时间: 2024-10-25 16:38:22