Dzięki społeczności PPCG Mikołajowi udało się zregenerować wszystkie prezenty, a po linii montażowej prezenty są teraz gotowe do przeniesienia do doków transportowych!
Każdy z doków transportowych Świętego Mikołaja ma tylko zakres obecnych rozmiarów, ponieważ sanie transportowe są wyspecjalizowane dla określonego rozmiaru (każda lżejsza i byłoby to marnotrawstwem, każda cięższa i sanie nie byłyby w stanie wytrzymać ładunku). Dlatego potrzebuje ciebie, abyś pomógł mu wziąć prezenty i posortować je do odpowiednich doków transportowych.
Wyzwanie
Biorąc pod uwagę listę i zakresy doków transportowych, stabilnie uporządkuj prezenty w odpowiedniej kolejności.
Weźmy na przykład: prezenty są [5, 3, 8, 6, 2, 7]
i zakresy dokowania [[1, 5] and [6, 10]]
.
Prezenty 5
, 3
i 2
iść do pierwszej stacji dokującej i prezenty 8
, 6
i 7
przejść do drugiego doku. Można to pokazać jako [[5, 3, 2], [8, 6, 7]]
. Ta lista będzie bliżej sortowania niż danych wejściowych, ale stably
oznacza, że w każdej stacji dokowania kolejność prezentów musi być taka sama jak kolejność danych wejściowych (w przeciwnym razie możesz po prostu posortować całą listę).
Twój końcowy wynik dla tej sprawy byłby [5, 3, 2, 8, 6, 7]
(jako płaska lista).
Specyfikacja formatowania
Będziesz mieć wkład w postaci płaskiej listy liczb całkowitych i listę zakresów w jakimkolwiek rozsądnym formacie (na przykład zakres powyższym przypadku mogą być podane jako [[1, 5], [6, 10]]
, [1, 5, 6, 10]
, lub [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
). Twój wynik powinien być płaską listą liczb całkowitych w dowolnym rozsądnym formacie.
Dane wejściowe mogą zawierać zduplikowane wartości; w takim przypadku musisz zwrócić wszystkie ich wystąpienia. Wszystkie obecne rozmiary będą dokładnie w jednym zakresie rozmiarów i możesz założyć, że zakresy nigdy się nie pokrywają. Mogą występować przerwy w zakresach, o ile wszystkie obecne rozmiary są objęte zakresem.
Zasady
- Obowiązują standardowe luki
- To jest golf-golf, więc wygrywa najkrótsza odpowiedź w bajtach
- Żadna odpowiedź nie zostanie zaakceptowana
- Możesz założyć, że nie będzie pustych zakresów (
[7, 4]
byłoby niepoprawne, ponieważ zakresy wzrosły)
Przypadki testowe
[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]
Uwaga: Inspirację do tej serii wyzwań czerpałem z Advent Of Code . Nie mam powiązań z tą stroną
Możesz zobaczyć listę wszystkich wyzwań w serii, patrząc na sekcję „Połączone” pierwszego wyzwania tutaj .