Введение
Очередь является абстрактным типом данных , где элементы добавляются к передним (Enqueue) и удалены от задней (DEQUEUE). Это также известно как принцип FIFO (First In First Out) .
Лучше всего это показать на примере:
Вызов
Учитывая непустой массив, который содержит положительные целые числа и элементы, которые указывают на очередь (удаление элемента), выведите окончательный список очереди.
Допустим, это X
обозначает dequeue в этом примере. Давайте посмотрим на следующий список:
[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]
Это код-гольф , поэтому выигрывает представление с наименьшим количеством байтов!