Il compito di questa sfida è mettere gli elementi di un array in intervalli di tempo. L'input sarà un array non decrescente di numeri interi positivi che rappresentano il tempo degli eventi e un numero intero che rappresenta la dimensione di ciascun bin. Cominciamo con un esempio. Chiamiamo array di input Ae array di output O.
`A = [1,1,1,2,7,10]` and `bin_size = 2`.
`O = [4,0,0,1,1]`.
Perché ? Con a bin_size = 2, avremo i seguenti intervalli:, in (0,2], (2,4], (4,6], (6,8], (8,10]cui quattro elementi si (1,1,1,2)trovano nel primo intervallo (0,2], nessuno nel secondo e terzo intervallo, uno 7nell'intervallo (6,8]e uno 10nell'intervallo (8,10].
Il tuo codice dovrebbe considerare ogni intervallo di lunghezza a bin_sizepartire da 0e contare quanti numeri Aci sono in ciascuno. Dovresti sempre includere l'estremità destra di un intervallo in un cestino, quindi nell'esempio sopra 2è incluso nel conteggio di 4. Il codice dovrebbe essere eseguito in tempo lineare nella somma delle lunghezze dell'input e dell'output.
Altri esempi:
`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]`.
Puoi presumere che input e output possano essere dati in qualsiasi formato che ritieni conveniente. Puoi usare tutte le lingue e le librerie che ti piacciono.
bin_size, dovremmo davvero gestirle? Sembra che la maggior parte delle risposte lo faccia, ma in tal caso, sarebbe bello aggiungere un caso di prova per questo scenario per evitare confusione.
0consentite uscite con messaggi finali ? Quindi tornare[2,0,1,1,1,0]invece di[2,0,1,1,1]?