Tugas dalam tantangan ini adalah untuk memasukkan elemen-elemen dari array ke dalam tempat waktu. Input akan berupa susunan bilangan bulat positif yang tidak berkurang yang menunjukkan waktu kejadian, dan bilangan bulat yang mewakili ukuran setiap nampan. Mari kita mulai dengan sebuah contoh. Kami memanggil array input A
dan array output O
.
`A = [1,1,1,2,7,10]` and `bin_size = 2`.
`O = [4,0,0,1,1]`.
Mengapa ? Dengan a bin_size = 2
, kita akan memiliki interval berikut:, di (0,2], (2,4], (4,6], (6,8], (8,10]
mana empat item (1,1,1,2)
berada dalam interval pertama (0,2]
, tidak ada di interval kedua dan ketiga, satu 7
di interval (6,8]
, dan satu 10
di interval (8,10]
.
Kode Anda harus mempertimbangkan setiap interval panjang bin_size
mulai dari 0
dan menghitung berapa banyak angka A
di masing-masing. Anda harus selalu memasukkan ujung kanan sebuah interval ke nampan sehingga dalam contoh di atas 2
termasuk dalam hitungan 4
. Kode Anda harus berjalan dalam waktu linier dalam jumlah panjang input dan output.
Lebih banyak contoh:
`A = [1,2,7,12,15]` and `bin_size = 5`.
`O = [2, 1, 2]`.
`A = [1,2,7,12,15]` and `bin_size = 3`.
`O = [2,0,1,1,1]`.
Anda dapat mengasumsikan bahwa input dan output dapat diberikan dalam format apa pun yang Anda rasa nyaman. Anda dapat menggunakan bahasa dan perpustakaan apa saja yang Anda suka.
bin_size
, haruskah kita benar-benar menangani ini? Tampaknya sebagian besar jawaban memang benar, tetapi jika demikian, alangkah baiknya untuk menambahkan test case untuk skenario ini untuk mencegah kebingungan.
0
dibolehkan? Jadi,[2,0,1,1,1,0]
bukannya kembali[2,0,1,1,1]
?