A tarefa neste desafio é colocar elementos de uma matriz em intervalos de tempo. A entrada será uma matriz não decrescente de números inteiros positivos que representam a hora dos eventos e um número inteiro que representa o tamanho de cada posição. Vamos começar com um exemplo. Chamamos a matriz de entrada Ae a matriz de saída O.
`A = [1,1,1,2,7,10]` and `bin_size = 2`.
`O = [4,0,0,1,1]`.
Por que ? Com a bin_size = 2, teremos os seguintes intervalos:, (0,2], (2,4], (4,6], (6,8], (8,10]onde quatro itens (1,1,1,2)estão dentro do primeiro intervalo (0,2], nenhum no segundo e terceiro intervalos, um 7no intervalo (6,8]e outro 10no intervalo (8,10].
Seu código deve considerar cada intervalo de comprimento a bin_sizepartir de 0e contar quantos números Aexistem em cada um. Você sempre deve incluir a extremidade direita de um intervalo em uma posição para que o exemplo acima 2seja incluído na contagem de 4. Seu código deve ser executado em tempo linear na soma dos comprimentos da entrada e da saída.
Mais exemplos:
`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]`.
Você pode assumir que entrada e saída podem ser fornecidas em qualquer formato que achar conveniente. Você pode usar qualquer idioma e biblioteca que desejar.
bin_size, devemos realmente lidar com isso? Parece que a maioria das respostas sim, mas se sim, seria bom adicionar um caso de teste para esse cenário para evitar confusão.
0permitidas saídas com s à direita ? Então, retornando em[2,0,1,1,1,0]vez de[2,0,1,1,1]?