Завдання в цьому виклику полягає в тому, щоб розмістити елементи масиву в часові відрізки. Вхідними даними будуть не зменшується масив додатних цілих чисел, що представляють час подій, і ціле число, яке представляє розмір кожного біна. Почнемо з прикладу. Ми називаємо вхідний масив A
і вихідний масив O
.
`A = [1,1,1,2,7,10]` and `bin_size = 2`.
`O = [4,0,0,1,1]`.
Чому ? З a bin_size = 2
, у нас будуть такі інтервали:, (0,2], (2,4], (4,6], (6,8], (8,10]
де чотири елементи (1,1,1,2)
знаходяться у першому інтервалі (0,2]
, жоден у другому та третьому інтервалах, один 7
у інтервалі (6,8]
та один 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]
?