La tâche dans ce défi est de mettre des éléments d'un tableau dans des bacs de temps. L'entrée sera un tableau non décroissant d'entiers positifs représentant l'heure des événements, et un entier qui représente la taille de chaque bac. Commençons par un exemple. Nous appelons le tableau d'entrée A
et le tableau de sortie O
.
`A = [1,1,1,2,7,10]` and `bin_size = 2`.
`O = [4,0,0,1,1]`.
Pourquoi ? Avec a bin_size = 2
, nous aurons les intervalles suivants:, (0,2], (2,4], (4,6], (6,8], (8,10]
où quatre éléments se (1,1,1,2)
trouvent dans le premier intervalle (0,2]
, aucun dans les deuxième et troisième intervalles, un 7
dans l'intervalle (6,8]
et un 10
dans l'intervalle (8,10]
.
Votre code doit tenir compte de chaque intervalle de longueur à bin_size
partir de 0
et compter le nombre de numéros A
qu'il contient. Vous devez toujours inclure la fin droite d'un intervalle dans un bac de sorte que dans l'exemple ci 2
- dessus est inclus dans le nombre de 4
. Votre code doit s'exécuter en temps linéaire dans la somme des longueurs de l'entrée et de la sortie.
Plus d'exemples:
`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]`.
Vous pouvez supposer que l'entrée et la sortie peuvent être données dans n'importe quel format qui vous convient. Vous pouvez utiliser toutes les langues et bibliothèques de votre choix.
bin_size
, devrions-nous vraiment les gérer? Il semble que la plupart des réponses le soient, mais si c'est le cas, il serait bon d'ajouter un cas de test pour ce scénario pour éviter toute confusion.
0
s de fin sont-elles autorisées? Vous revenez donc[2,0,1,1,1,0]
au lieu de[2,0,1,1,1]
?