Dank der PPCG-Community ist es dem Weihnachtsmann gelungen, alle seine Geschenke wiederaufzubauen. Nach dem Fließband können die Geschenke nun in die Transportdocks gebracht werden!
Jedes Transportdock des Weihnachtsmanns hat nur eine Reihe von aktuellen Größen, da die Transportschlitten auf eine bestimmte Größe spezialisiert sind (jedes Feuerzeug und es wäre verschwenderisch, jedes schwerer und der Schlitten wäre nicht in der Lage, die Ladung zu tragen). Daher müssen Sie ihm helfen, seine Geschenke zu nehmen und sie in die richtigen Transportdocks zu sortieren.
Herausforderung
Ordnen Sie die Geschenke anhand einer Liste und der Transportdockbereiche stabil in der richtigen Reihenfolge an.
Nehmen wir zum Beispiel Folgendes: Die Geschenke sind [5, 3, 8, 6, 2, 7]
und die Dockbereiche sind [[1, 5] and [6, 10]]
.
Die Geschenke 5
, 3
und 2
gehen in das erste Dock und die Geschenke 8
, 6
und 7
in das zweite Dock gehen. Dies kann als gezeigt werden [[5, 3, 2], [8, 6, 7]]
. Diese Liste ist näher an der Sortierung als die Eingabe, stably
bedeutet jedoch , dass in jedem Dock die Reihenfolge der Geschenke mit der Reihenfolge der Eingabe übereinstimmen muss (andernfalls können Sie einfach die gesamte Liste sortieren).
Ihre endgültige Ausgabe für diesen Fall wäre [5, 3, 2, 8, 6, 7]
(als flache Liste).
Formatierungsspezifikationen
Sie werden Eingang als flache Liste von ganzen Zahlen und einer Liste der Bereiche in jedem vernünftigen Format angegeben werden (beispielsweise der Bereich für den obigen Fall als gegeben werden könnte [[1, 5], [6, 10]]
, [1, 5, 6, 10]
oder [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
). Ihre Ausgabe sollte eine flache Liste von Ganzzahlen in einem vernünftigen Format sein.
Die Eingabe kann doppelte Werte enthalten. In diesem Fall müssen Sie alle Instanzen von ihnen zurückgeben. Alle vorhandenen Größen liegen in genau einem Größenbereich, und Sie können davon ausgehen, dass sich die Bereiche niemals überlappen. Es kann Lücken in den Bereichen geben, solange alle vorhandenen Größen abgedeckt sind.
Regeln
- Standardschlupflöcher gelten
- Dies ist Code-Golf , daher gewinnt die kürzeste Antwort in Bytes
- Es wird keine Antwort akzeptiert
- Sie können davon ausgehen, dass keine leeren Bereiche vorhanden sind (
[7, 4]
wäre ungültig, da die Bereiche steigen).
Testfälle
[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]
Hinweis: Ich habe mich für diese Herausforderungsserie von Advent Of Code inspirieren lassen . Ich habe keine Verbindung zu dieser Site
Eine Liste aller Herausforderungen in der Serie finden Sie im Abschnitt "Verknüpft" der ersten Herausforderung hier .