Estás leyendo la publicación: Codificación de preguntas de entrevista – Patrón 3 – Problemas de eliminación de cola
Dequeue es una estructura de datos similar a la cola con una modificación. La cola normal nos permite poner en cola elementos al final de la cola y eliminar elementos de la cabeza de la cola. Pero en el caso de Dequeue, podemos realizar enqueue o dequeue tanto desde la cabeza como desde la cola. Todas las operaciones son similares a la cola, pero solo que las permite en ambos extremos de la cola.
Los principales problemas de entrevista que se pueden resolver con este patrón incluyen:
Máximo de ventana deslizante
Rectángulo más grande en un histograma
Diferentes formas de declarar Deque en Java.
1 2 3 4 5 | Deque deque = new LinkedList(); Deque deque = new ArrayDeque(); ArrayDeque |
Referencia rápida de los métodos Dequeue (cheatsheet):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | add(Element e) : El método inserta un elemento particular al final de la deque. addFirst(Element e) : El método inserta un elemento particular al comienzo de la deque. addLast(Element e) : El método inserta un elemento particular al final de la deque. Es similar al método add() clear() : el método elimina todos los elementos deque. size() : El método devuelve el no. de elementos en deque. contains(Obj) : El método comprueba si una deque contiene el elemento o no. Iterator() : El método devuelve un iterador sobre la deque. descendingIterator() : El método devuelve un iterador de orden inverso sobre el elemento deque() : El método devuelve el elemento al principio de deque getFirst() : El método devuelve el primer elemento de deque getLast() : El método devuelve el último elemento de the deque isEmpty(): El método comprueba si el deque está vacío o no. toArray(): El método devuelve una matriz que tiene los elementos de deque. oferta(Elemento e) : El método inserta el elemento al final de deque. ofrecerPrimero(Elemento e) : El método inserta el elemento al frente de deque. offerLast(Element e) : El método inserta el elemento al final de deque. peek() : el método devuelve el elemento principal sin eliminarlo. peekFirst() : el método devuelve el primer elemento sin eliminarlo. peekLast() : el método devuelve el último elemento sin eliminarlo. poll() : el método devuelve el elemento principal y también lo elimina pollFirst() : el método devuelve el primer elemento y también lo elimina pollLast() : el método devuelve el último elemento y también lo elimina pop() : el método muestra un elemento para stack representado por deque push(Element e) : El método empuja un elemento en la pila representado por deque remove() : El método devuelve el elemento principal y también lo elimina removeFirst() : El método devuelve el primer elemento y también lo elimina removeLast() : El método devuelve el último elemento y también lo elimina removeFirstOccurrence(Obj) : El método elimina el elemento donde aparece por primera vez en el deque. removeLastOccurrence(Obj) : El método elimina el elemento donde ocurrió por última vez en el deque. |