Grazie alla comunità PPCG, Babbo Natale è riuscito a rigenerare tutti i suoi regali e dopo la catena di montaggio, i regali sono ora pronti per essere spostati nei moli di trasporto!
Ciascuna delle banchine di trasporto di Babbo Natale contiene solo una gamma di dimensioni attuali perché le slitte di trasporto sono specializzate per una dimensione specifica (qualsiasi più leggera e sarebbe dispendiosa, qualsiasi più pesante e la slitta non sarebbe in grado di gestire il carico). Pertanto, ha bisogno che tu lo aiuti a prendere i suoi regali e ordinarli nei moli di trasporto corretti.
Sfida
Dato un elenco e gli intervalli delle banchine di trasporto, organizzare stabilmente i regali nell'ordine corretto.
Prendiamo ad esempio questo: i regali sono [5, 3, 8, 6, 2, 7]
e le gamme di dock sono [[1, 5] and [6, 10]]
.
I regali 5
, 3
e 2
vanno nella prima dock e i regali 8
, 6
e 7
vanno nella seconda dock. Questo può essere mostrato come [[5, 3, 2], [8, 6, 7]]
. Questo elenco sarà più vicino all'ordinamento dell'input, ma stably
significa che all'interno di ciascun dock, l'ordine dei presenti deve essere uguale all'ordine dell'input (altrimenti potresti semplicemente ordinare l'intero elenco).
Il tuo output finale per questo caso sarebbe [5, 3, 2, 8, 6, 7]
(come una lista piatta).
Specifiche di formattazione
Vi sarà dato ingresso come una semplice lista di numeri interi e un elenco di intervalli in qualsiasi formato ragionevole (per esempio, l'intervallo per il caso di cui sopra potrebbe essere dato come [[1, 5], [6, 10]]
, [1, 5, 6, 10]
o [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
). L'output dovrebbe essere un elenco semplice di numeri interi in qualsiasi formato ragionevole.
L'input può contenere valori duplicati; in questo caso, è necessario restituire tutte le loro istanze. Tutte le dimensioni attuali saranno esattamente in un intervallo di dimensioni e si può presumere che gli intervalli non si sovrapporranno mai. Possono esserci spazi vuoti nelle gamme purché siano coperte tutte le dimensioni attuali.
Regole
- Si applicano scappatoie standard
- Questo è code-golf , quindi vince la risposta più breve in byte
- Nessuna risposta sarà accettata
- Puoi presumere che non ci saranno intervalli vuoti (
[7, 4]
sarebbe non valido perché gli intervalli salgono)
Casi 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]
Nota: ho tratto ispirazione per questa serie di sfide da Advent Of Code . Non ho affiliazione con questo sito
Puoi vedere un elenco di tutte le sfide della serie guardando la sezione "Linked" della prima sfida qui .