Menu
CoddyTech

Counting Bits

0 veya daha büyük bir tam sayı olan n verildiğinde, 0 ile n arasındaki her i için i'nin ikili gösterimindeki 1'lerin sayısının i. eleman olduğu, n+1 elemanlı bir dizi döndürün.

Fonksiyon

countBits(n: integer) → integer-array
ninteger
sayılacak son sayı, 0 veya daha fazla
Döndürürinteger-array
n+1 elemandan oluşan bir sayım dizisi; burada i. öğe, i sayısındaki 1 bitlerinin sayısıdır

Kısıtlar

  • 0 ≤ n ≤ 2 × 104

Örnekler

Girdi
n = 2
Çıktı
[0, 1, 1]
Açıklama
İkili sistemde 0, 0; 1, 1 ve 2, 10 şeklindedir: önce hiç 1 yok, sonra bir tane, sonra da bir tane.
challenge icon

Ek soru

Tüm diziyi, bitleri sayan yerleşik bir fonksiyon kullanmadan ve her sayıyı baştan saymadan O(n) zamanda doldurabilir misin?

Kodu sıfırla
def countBits(n):
    # Kodu buraya yazın

Test #1

Test #2

Argüman

n = 2

Beklenen Çıktı

[0, 1, 1]