Вступ
Черга є абстрактним типом даних , де елементи додаються до передніх (Enqueue) і віддалені від задньої (DEQUEUE). Це також відоме як принцип FIFO (First In First Out) .
Найкраще це показано на прикладі:
Виклик
Враховуючи не порожній масив, який містить додатні цілі числа та елементи, які вказують на dequeue (видалення елемента), виведіть остаточний список черги.
Скажімо, що X
в даному прикладі позначається декупаж. Давайте подивимось на наступний список:
[45, X, X, 37, 20, X, 97, X, 85]
Це можна перекласти у наступний псевдо-код черги:
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
Ви можете побачити, що врешті-решт результат є [85, 97]
, який є результатом для цієї послідовності.
Тестові справи
Зауважте, що ви можете обрати будь-який інший символ або символ X
, якщо це не додатне ціле число.
[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]
Це код-гольф , тому подання з найменшою кількістю байтів виграє!