Menu
CoddyTech

Counting Bits

0 veya daha büyük bir tam sayı olan n verilir. 0'dan n'e kadar olan her i sayısı için, i ikili sistemde yazıldığında kaç tane 1 bulunduğunu sayın. Sayıları, n+1 öğeden oluşan bir dizi olarak döndürün; burada i. öğe, i sayısı için bulunan adettir.

Fonksiyon

countBits(n: integer) → integer-array
ninteger
sayılacak son sayı, 0 veya daha fazla
Döndürürinteger-array
n+1 adet sayım içeren bir dizi; 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
İkilik sistemde 0, 0; 1, 1 ve 2, 10 şeklindedir. Yani önce hiç 1 yok, sonra bir tane, ardından bir tane.

lock iconGönderirken +15 gizli test

challenge icon

Ek soru

Yerleşik bir bit sayma işlevi kullanmadan ve her sayıyı baştan saymadan dizinin tamamını O(n) zamanda doldurabilir misin?

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

Durum 1

Durum 2

Girdi

n = 2

Beklenen

[0, 1, 1]