2026-06-01 16:12:21 +08:00
|
|
|
#+PROPERTY: STUDY_DECK_02
|
2026-06-01 17:12:10 +08:00
|
|
|
* TODO 0191. Number of 1 Bits :easy:
|
2026-06-01 02:33:30 +08:00
|
|
|
:PROPERTIES:
|
2026-06-01 17:22:07 +08:00
|
|
|
:NEETCODE: [[file:../../roadmap.org::*0191. Number of 1 Bits][0191. Number of 1 Bits]]
|
2026-06-01 02:33:30 +08:00
|
|
|
:END:
|
|
|
|
|
|
2026-06-01 17:22:07 +08:00
|
|
|
Given a positive integer ~n~, write a function that returns the number of set bits in its binary representation (also known as the Hamming weight).
|
|
|
|
|
|
|
|
|
|
*Example 1:*
|
|
|
|
|
|
|
|
|
|
*Input:* n = 11
|
|
|
|
|
|
|
|
|
|
*Output:* 3
|
|
|
|
|
|
|
|
|
|
*Explanation:*
|
|
|
|
|
|
|
|
|
|
The input binary string *1011* has a total of three set bits.
|
|
|
|
|
|
|
|
|
|
*Example 2:*
|
|
|
|
|
|
|
|
|
|
*Input:* n = 128
|
|
|
|
|
|
|
|
|
|
*Output:* 1
|
|
|
|
|
|
|
|
|
|
*Explanation:*
|
|
|
|
|
|
|
|
|
|
The input binary string *10000000* has a total of one set bit.
|
|
|
|
|
|
|
|
|
|
*Example 3:*
|
|
|
|
|
|
|
|
|
|
*Input:* n = 2147483645
|
|
|
|
|
|
|
|
|
|
*Output:* 30
|
|
|
|
|
|
|
|
|
|
*Explanation:*
|
|
|
|
|
|
|
|
|
|
The input binary string *1111111111111111111111111111101* has a total of thirty set bits.
|
|
|
|
|
|
|
|
|
|
*Constraints:*
|
|
|
|
|
|
|
|
|
|
- ~1 <= n <= 2^{31} - 1~
|
|
|
|
|
|
|
|
|
|
*Follow up:* If this function is called many times, how would you optimize it?
|
|
|
|
|
|
2026-06-01 02:39:53 +08:00
|
|
|
** TODO Approach
|
|
|
|
|
Write your approach here.
|
|
|
|
|
|
|
|
|
|
** TODO Python
|
|
|
|
|
#+begin_src python
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution:
|
|
|
|
|
def hammingWeight(self, n: int) -> int:
|
2026-06-01 02:39:53 +08:00
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** TODO C++
|
2026-06-01 02:33:30 +08:00
|
|
|
#+begin_src cpp
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution {
|
|
|
|
|
public:
|
|
|
|
|
int hammingWeight(int n) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
};
|
2026-06-01 02:33:30 +08:00
|
|
|
#+end_src
|