这项挑战中的任务是将数组的元素放入时间仓。输入将是一个非递减的正整数数组,该整数表示事件的时间,而整数则表示每个bin的大小。让我们从一个例子开始。我们称为输入数组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
有多少个数字。您应始终将区间的右端包括在bin中,因此在上面的示例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]
?