Cola implementada con pilas

Tiempo límite 2 s
Memoria límite 256 MB
Casos de prueba 8
Dificultad Fácil Algoritmos
Mostrar (3) ColasDiseño de estructurasPilas
Enviar solución

Puntos: 5

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Implementa una cola (el primero que entra es el primero que sale) usando solo dos pilas y sus operaciones básicas (apilar, desapilar, mirar el tope, ver si está vacía). Debe soportar:

  • push x: agrega \(x\) al final de la cola.
  • pop: saca el elemento del frente e imprímelo.
  • peek: imprime el elemento del frente sin sacarlo.
  • empty: imprime true si la cola está vacía o false si no.

Cada operación debe costar \(O(1)\) amortizado. (El juez solo revisa la salida, así que no puede obligarte a usar pilas: el ejercicio es hacerlo así.)

Entrada

La primera línea tiene \(q\) \((1 \le q \le 10^5)\) y siguen \(q\) líneas con una operación cada una. Se garantiza que pop y peek solo aparecen con la cola no vacía, y que \(1 \le x \le 10^9\).

Salida

Una línea por cada pop, peek y empty, con lo que pide la operación.

Ejemplo 1

Entrada

5
push 1
push 2
peek
pop
empty

Salida

1
1
false

Ejemplo 2

Entrada

6
empty
push 7
empty
pop
push 3
peek

Salida

true
false
7
3

Basado en el problema 232 de LeetCode, Implement Queue using Stacks, adaptado a entrada y salida estándar; enunciado redactado para este juez. Es parte de la lista Grind 75 de Yangshun Tay.


Comentarios

No hay comentarios por el momento.