65 / 205
LeetCode · EasyOson10 ball· ~10 daqiqa

Number of 1 Bits

Berilgan n butun sonining ikkilik (binary) ko'rinishidagi '1' bitlarning umumiy sonini qaytaring (bu Hamming Vazni deb ham ataladi).

Masalan, 11 soni ikkilikda 1011, unda 1 bitlar soni — 3.

example.go
func solve(n int) int {
    // ...
}

Misollar

kod
Input: n = 11
Output: 3
Tushuntirish: 11 ning ikkilik ko'rinishi 00000000000000000000000000001011 bo'lib, unda 3 ta '1' bit bor.
kod
Input: n = 128
Output: 1
kod
Input: n = 2147483645
Output: 30

Maslahatlar

  1. Sonni ikkilik ko'rinishida "1" bitlarini sanash uchun uni qadam-baqadam 2 ga bo'lish yoki bitli operatsiyalar bilan tekshirishni o'ylang.
  2. Son 0 bo'lmaguncha uni 2 ga bo'lib (yoki 1 bit o'ngga surib) boring, har qadamda eng past bit (n % 2 yoki n & 1) 1 ga teng bo'lsa hisoblagichni oshiring.