¿Cómo implementar la pila usando la cola de prioridad o el montón?

¿Cómo implementar la pila usando una cola de prioridad (usando un montón mínimo)? Preguntado en: Microsoft, Adobe.  Solución: En la cola de prioridad, asignamos prioridad a los elementos que se están empujando. Una pila requiere que los elementos se procesen de la manera Último en entrar, Primero en salir. La idea es asociar un conteo … Continue reading «¿Cómo implementar la pila usando la cola de prioridad o el montón?»

Ordenar una pila usando recursividad

Dada una pila, ordénela usando recursividad. No se permite el uso de construcciones de bucle como while, for, etc. Solo podemos usar las siguientes funciones ADT en Stack S:  is_empty(S) : Tests whether stack is empty or not. push(S) : Adds new element to the stack. pop(S) : Removes top element from the stack. top(S) … Continue reading «Ordenar una pila usando recursividad»

Recorrido de orden de nivel con cambio de dirección después de cada dos niveles

Dado un árbol binario, imprima el recorrido de orden de nivel de tal manera que los primeros dos niveles se impriman de izquierda a derecha, los siguientes dos niveles se impriman de derecha a izquierda, luego los dos siguientes de izquierda a derecha y así sucesivamente. Entonces, el problema es invertir la dirección del recorrido … Continue reading «Recorrido de orden de nivel con cambio de dirección después de cada dos niveles»

Programa para revertir una lista enlazada usando Stack

Dada una lista enlazada. La tarea es invertir el orden de los elementos de la Lista Enlazada utilizando una Pila auxiliar. Ejemplos:   Input : List = 3 -> 2 -> 1 Output : 1 -> 2 -> 3 Input : 9 -> 7 -> 4 -> 2 Output : 2 -> 4 -> 7 -> … Continue reading «Programa para revertir una lista enlazada usando Stack»

Resolver la expresión lógica dada por string

Dada la string str que representa una expresión lógica que consta de los operadores | (O) , & (Y) , ! (NOT) , 0 , 1 y , únicamente (es decir, sin espacios entre caracteres). La tarea es imprimir el resultado de la expresión lógica. Ejemplos:   Entrada: str = “[[0,&,1],|,[!,1]]”  Salida: 0  [[0,&,1],|, [!,1] ]  … Continue reading «Resolver la expresión lógica dada por string»

Pasos mínimos necesarios para hacer una array decreciente

Dada una array arr[] , la tarea es encontrar los pasos mínimos necesarios para hacer que una array disminuya, donde en cada paso se eliminan todos los elementos que son mayores que los elementos de su elemento izquierdo. Ejemplos:   Entrada: arr[] = {3, 2, 1, 7, 5}  Salida: 2  Explicación:  En la array anterior se … Continue reading «Pasos mínimos necesarios para hacer una array decreciente»

Maximice la suma de los elementos superiores de S pilas haciendo estallar como máximo N elementos

Dadas S pilas de longitud M , la tarea es maximizar la suma de elementos en la parte superior de cada pila sacando como máximo N elementos. Ejemplo:   Entrada: S = 1, N = 3, pilas = { 5, 1, 2, 8, 9 }  Salida: 8  Explicación:  Se pueden eliminar un máximo de 3 elementos. El … Continue reading «Maximice la suma de los elementos superiores de S pilas haciendo estallar como máximo N elementos»

Entrevista a los laboratorios de Walmart | Conjunto 4 (para ingeniero de software sénior)

Fui entrevistado para el puesto de ingeniero de software sénior en Walmart (6-8 años de experiencia, incluso personas con 4 años de experiencia también fueron preseleccionadas) Prueba escrita (Hacker Earth) [Límite de tiempo 90 min] 1) Verificación de paréntesis equilibrados 2) Magníficas fuentes https://www.hackerearth.com/problem/algorithm/magnificent-fountains/ 3) Encuentra el dígito máximo que ocurrió en un rango de … Continue reading «Entrevista a los laboratorios de Walmart | Conjunto 4 (para ingeniero de software sénior)»

Cuente los elementos de la array que tienen al menos un elemento más pequeño en su lado izquierdo y derecho

Dada una array arr[] de longitud N , la tarea es encontrar el número de elementos en la array arr[] que contiene al menos un elemento más pequeño a su izquierda y derecha . Ejemplos: Entrada: arr[] = {3, 9, 4, 6, 7, 5} Salida: 3 Explicación: Los siguientes 3 elementos de la array satisfacen … Continue reading «Cuente los elementos de la array que tienen al menos un elemento más pequeño en su lado izquierdo y derecho»

Minimice una string binaria eliminando repetidamente substrings de longitud uniforme de los mismos caracteres

Dada una string binaria str de tamaño N , la tarea es minimizar la longitud de la string binaria dada eliminando substrings de longitud uniforme que consisten en caracteres sam, es decir, 0 s o 1 s solamente, de la string cualquier cantidad de veces. Finalmente, imprima la string modificada. Ejemplos: Entrada: str =”101001″ Salida: … Continue reading «Minimice una string binaria eliminando repetidamente substrings de longitud uniforme de los mismos caracteres»