Einführung
Eine Warteschlange ist ein abstrakter Datentyp, bei dem Elemente an der Vorderseite (Warteschlange) hinzugefügt und an der Rückseite (Warteschlange) entfernt werden. Dies wird auch als FIFO-Prinzip (First In First Out) bezeichnet.
Es wird am besten anhand eines Beispiels gezeigt:
Herausforderung
Bei einem nicht leeren Array, das positive Ganzzahlen und Elemente enthält, die eine Warteschlange anzeigen (Entfernen eines Elements), geben Sie die endgültige Liste der Warteschlange aus.
Nehmen wir an, dass X
dies in diesem Beispiel eine Warteschlange bedeutet. Werfen wir einen Blick auf die folgende Liste:
[45, X, X, 37, 20, X, 97, X, 85]
Dies kann in den folgenden Warteschlangen-Pseudocode übersetzt werden:
Queue
Enqueue 45 -> 45
Dequeue ->
Dequeue -> (dequeue on an empty queue is a no-op)
Enqueue 37 -> 37
Enqueue 20 -> 20 37
Dequeue -> 20
Enqueue 97 -> 97 20
Dequeue -> 97
Enqueue 85 -> 85 97
Sie können sehen, dass am Ende das Ergebnis ist [85, 97]
, welches die Ausgabe für diese Sequenz ist.
Testfälle
Beachten Sie, dass Sie ein beliebiges anderes Symbol oder Zeichen auswählen können X
, sofern es sich nicht um eine positive Ganzzahl handelt.
[1, X, 2, X, 3, X] -> []
[1, 2, X] -> [2]
[1, 2, 3] -> [3, 2, 1]
[1, 2, X, X, X, 3] -> [3]
[1, 2, X, 3, X, 4] -> [4, 3]
Das ist Code-Golf , also gewinnt die Einsendung mit der geringsten Anzahl von Bytes!