Grâce à la communauté PPCG, le Père Noël a réussi à reconditionner tous ses cadeaux et après la chaîne de montage, les cadeaux sont maintenant prêts à être déplacés sur les quais de transport!
Chacun des quais de transport du Père Noël ne contient qu'une gamme de tailles actuelles parce que les traîneaux de transport sont spécialisés pour une taille spécifique (tout plus léger et ce serait du gaspillage, plus lourd et le traîneau ne serait pas en mesure de gérer la charge). Ainsi, il a besoin de vous pour l'aider à prendre ses cadeaux et à les trier dans les bons quais de transport.
Défi
Compte tenu d'une liste et des gammes de quais de transport, organisez de manière stable les cadeaux dans le bon ordre.
Prenons ceci par exemple: les cadeaux sont [5, 3, 8, 6, 2, 7]
et les gammes de dock sont [[1, 5] and [6, 10]]
.
Les présents 5
, 3
et 2
vont dans le premier quai et les cadeaux 8
, 6
et 7
vont dans le deuxième quai. Cela peut être montré comme [[5, 3, 2], [8, 6, 7]]
. Cette liste sera plus proche d'être triée que l'entrée, mais stably
signifie que dans chaque dock, l'ordre des cadeaux doit être le même que l'ordre de l'entrée (sinon vous pouvez simplement trier la liste entière).
Votre sortie finale pour ce cas serait [5, 3, 2, 8, 6, 7]
(sous forme de liste plate).
Spécifications de formatage
Vous recevrez entrée comme une liste plate des entiers et une liste des plages dans un format raisonnable (par exemple, la plage pour le cas ci - dessus pourrait être donnée [[1, 5], [6, 10]]
, [1, 5, 6, 10]
ou [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
). Votre sortie doit être une liste plate d'entiers dans n'importe quel format raisonnable.
L'entrée peut contenir des valeurs en double; dans ce cas, vous devez en renvoyer toutes les instances. Toutes les tailles actuelles seront dans une seule plage de tailles, et vous pouvez supposer que les plages ne se chevaucheront jamais. Il peut y avoir des écarts dans les plages tant que toutes les tailles actuelles sont couvertes.
Règles
- Les échappatoires standard s'appliquent
- Il s'agit de code-golf , donc la réponse la plus courte en octets l'emporte
- Aucune réponse ne sera acceptée
- Vous pouvez supposer qu'il n'y aura pas de plages vides (
[7, 4]
serait invalide car les plages augmentent)
Cas de test
[1, 2, 3, 4, 5, 6, 7] ; [[1, 3], [4, 7]] => [1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7] ; [[4, 7], [1, 3]] => [4, 5, 6, 7, 1, 2, 3]
[7, 3, 5, 4, 6, 1, 2] ; [[1, 3], [4, 5], [6, 7]] => [3, 1, 2, 5, 4, 7, 6]
[4, 7, 6, 3, 5, 2, 1] ; [[1, 4], [5, 7]] => [4, 3, 2, 1, 7, 6, 5]
[1, 1, 3, 3, 6, 4, 7] ; [[1, 4], [6, 7]] => [1, 1, 3, 3, 4, 6, 7]
Remarque: je me suis inspiré de cette série de défis d' Advent Of Code . Je n'ai aucune affiliation avec ce site
Vous pouvez voir une liste de tous les défis de la série en consultant la section 'Linked' du premier défi ici .