Introdução
Uma fila é um tipo de dados abstrato em que os elementos são adicionados à frente (enfileiramento) e removidos da parte traseira (desenfileiramento). Isso também é conhecido como princípio FIFO (primeiro entrar, primeiro a sair) .
É melhor mostrado com um exemplo:
Desafio
Dada uma matriz não vazia que contém números inteiros positivos e elementos que indicam uma desenfileiramento (remoção de um elemento), produza a lista final da fila.
Digamos que X
denote uma desenfileiramento neste exemplo. Vamos dar uma olhada na seguinte lista:
[45, X, X, 37, 20, X, 97, X, 85]
Isso pode ser traduzido para o seguinte pseudo-código da fila:
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
Você pode ver que, no final, o resultado é [85, 97]
qual é a saída dessa sequência.
Casos de teste
Observe que você pode escolher qualquer outro símbolo ou caractere X
, desde que não seja um número inteiro 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]
Isso é código-golfe , então a submissão com a menor quantidade de bytes ganha!