この課題のタスクは、配列の要素を時間ビンに入れることです。入力は、イベントの時間を表す正の整数の非減少配列と、各ビンのサイズを表す整数になります。例から始めましょう。入力配列A
と出力配列を呼び出しますO
。
`A = [1,1,1,2,7,10]` and `bin_size = 2`.
`O = [4,0,0,1,1]`.
なんで?bin_size = 2
:、我々は次のような間隔がありませんよ(0,2], (2,4], (4,6], (6,8], (8,10]
、4つの項目は、(1,1,1,2)
最初の区間内にあるが(0,2]
、第二と第三の間隔、1でどれ7
間隔で(6,8]
、1 10
時間間隔でを(8,10]
。
コードは、bin_size
先頭から始まるすべての間隔を考慮し、それぞれに含まれる0
数字の数をカウントするA
必要があります。間隔の右端を常にビンに含める必要があるため、上記の例2
ではのカウントに含まれます4
。コードは、入力と出力の長さの合計で線形時間で実行する必要があります。
その他の例:
`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]`.
入力および出力は、便利な任意の形式で指定できると想定できます。好きな言語とライブラリを使用できます。
bin_size
ですか?ほとんどの回答がそうであるように見えますが、そうであれば、混乱を防ぐために、このシナリオのテストケースを追加するとよいでしょう。
0
sの出力は許可されますか?では、[2,0,1,1,1,0]
代わりに[2,0,1,1,1]
?