introduzione
Una coda è un tipo di dati astratto in cui gli elementi vengono aggiunti alla parte anteriore (accodamento) e rimossi dalla parte posteriore ( accodamento ). Questo è anche noto come principio FIFO (First In First Out) .
È meglio mostrato con un esempio:
Sfida
Dato un array non vuoto che contiene numeri interi positivi ed elementi che indicano un dequeue (rimuovendo un elemento), genera l'elenco finale della coda.
Diciamo che X
denota un dequeue in questo esempio. Diamo un'occhiata al seguente elenco:
[45, X, X, 37, 20, X, 97, X, 85]
Questo può essere tradotto nel seguente pseudo codice di coda:
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
Si può vedere che alla fine, il risultato è [85, 97]
, che è l'output per questa sequenza.
Casi test
Nota che puoi scegliere qualsiasi altro simbolo o carattere per X
, purché non sia un numero intero positivo.
[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]
Questo è code-golf , quindi vince l'invio con il minor numero di byte!