Zadaniem w tym wyzwaniu jest umieszczenie elementów tablicy w przedziałach czasowych. Dane wejściowe będą stanowić nie malejącą tablicę dodatnich liczb całkowitych reprezentujących czas zdarzeń oraz liczbę całkowitą reprezentującą rozmiar każdego przedziału. Zacznijmy od przykładu. Nazywamy tablicę wejściową Ai tablicę wyjściową O.
`A = [1,1,1,2,7,10]` and `bin_size = 2`.
`O = [4,0,0,1,1]`.
Dlaczego ? Za pomocą a bin_size = 2mamy następujące przedziały:, w (0,2], (2,4], (4,6], (6,8], (8,10]których cztery elementy (1,1,1,2)znajdują się w pierwszym przedziale (0,2], żaden w drugim i trzecim przedziale, jeden 7w przedziale (6,8]i jeden 10w przedziale (8,10].
Twój kod powinien uwzględniać każdy przedział długości, bin_sizezaczynając od, 0i liczyć, ile jest w Anim liczb . Zawsze powinieneś umieszczać prawy koniec przedziału w pojemniku, więc w powyższym przykładzie 2jest on uwzględniony w liczbie 4. Twój kod powinien działać w czasie liniowym jako suma długości danych wejściowych i wyjściowych.
Więcej przykładów:
`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]`.
Możesz założyć, że dane wejściowe i wyjściowe można podawać w dowolnym dogodnym dla siebie formacie. Możesz używać dowolnych języków i bibliotek.
bin_size, czy naprawdę powinniśmy sobie z tym poradzić? Wydaje się, że większość odpowiedzi tak, ale jeśli tak, dobrze byłoby dodać przypadek testowy dla tego scenariusza, aby zapobiec nieporozumieniom.
0dozwolone są wyjścia ze znakami końcowymi ? Więc wracasz[2,0,1,1,1,0]zamiast[2,0,1,1,1]?