Задача в этой задаче состоит в том, чтобы поместить элементы массива в временные интервалы. Входные данные будут неубывающим массивом натуральных чисел, представляющих время событий, и целым числом, которое представляет размер каждого бина. Давайте начнем с примера. Мы называем входной массив 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Разрешены ли выходы с трейлингом ? Так что вернемся[2,0,1,1,1,0]вместо[2,0,1,1,1]?