Programa Javascript para fusionar dos listas ordenadas (in situ)

Dadas dos listas ordenadas, combínelas para producir una lista ordenada combinada (sin usar espacio adicional). Ejemplos: Input: head1: 5->7->9 head2: 4->6->8 Output: 4->5->6->7->8->9 Explanation: The output list is in sorted order. Input: head1: 1->3->5->7 head2: 2->4 Output: 1->2->3->4->5->7 Explanation: The output list is in sorted order. Hay diferentes soluciones discutidas en la publicación a continuación. Combinar … Continue reading «Programa Javascript para fusionar dos listas ordenadas (in situ)»

Programa Javascript para encontrar un triplete que sume un valor dado

Dada una array y un valor, encuentre si hay un triplete en la array cuya suma es igual al valor dado. Si hay tal triplete presente en la array, imprima el triplete y devuelva verdadero. De lo contrario, devuelve falso. Ejemplos:   Entrada: array = {12, 3, 4, 1, 6, 9}, suma = 24; Salida: 12, 3, … Continue reading «Programa Javascript para encontrar un triplete que sume un valor dado»

Programa Javascript para buscar un elemento en una array ordenada y rotada

Un elemento en una array ordenada se puede encontrar en el tiempo O (log n) a través de una búsqueda binaria . Pero supongamos que rotamos una array ordenada de orden ascendente en algún pivote desconocido para usted de antemano. Entonces, por ejemplo, 1 2 3 4 5 podría convertirse en 3 4 5 1 … Continue reading «Programa Javascript para buscar un elemento en una array ordenada y rotada»

Programa Python para la compra de acciones y la venta para maximizar las ganancias

El costo de una acción en cada día se da en una array, encuentre la ganancia máxima que puede obtener comprando y vendiendo en esos días. Por ejemplo, si la array dada es {100, 180, 260, 310, 40, 535, 695}, la ganancia máxima se puede obtener comprando el día 0 y vendiendo el día 3. … Continue reading «Programa Python para la compra de acciones y la venta para maximizar las ganancias»

Algoritmo de ruta más corta de Dijkstra | Codicioso Algo-7

  Dado un gráfico y un vértice fuente en el gráfico, encuentra los caminos más cortos desde la fuente hasta todos los vértices en el gráfico dado. El algoritmo de Dijkstra es muy similar al algoritmo de Prim para el árbol de expansión mínimo . Al igual que el MST de Prim, generamos un SPT … Continue reading «Algoritmo de ruta más corta de Dijkstra | Codicioso Algo-7»

Codificación Huffman | Codicioso Algo-3 – Part 1

La codificación Huffman es un algoritmo de compresión de datos sin pérdidas. La idea es asignar códigos de longitud variable a los caracteres de entrada, las longitudes de los códigos asignados se basan en las frecuencias de los caracteres correspondientes. El carácter más frecuente obtiene el código más pequeño y el carácter menos frecuente obtiene … Continue reading «Codificación Huffman | Codicioso Algo-3 – Part 1»

Imprimir todas las combinaciones de paréntesis equilibrados

Escribe una función para generar todos los n pares posibles de paréntesis balanceados.  Ejemplos:  Input: n=1 Output: {} Explanation: This the only sequence of balanced parenthesis formed using 1 pair of balanced parenthesis. Input : n=2 Output: {}{} {{}} Explanation: This the only two sequences of balanced parenthesis formed using 2 pair of balanced parenthesis. … Continue reading «Imprimir todas las combinaciones de paréntesis equilibrados»

Imprimir Nodes en la vista superior del árbol binario – Part 2

La vista superior de un árbol binario es el conjunto de Nodes visibles cuando el árbol se ve desde arriba. Dado un árbol binario, imprima la vista superior del mismo. Los Nodes de salida se pueden imprimir en cualquier orden. Hay un Node x en la salida si x es el Node superior a su … Continue reading «Imprimir Nodes en la vista superior del árbol binario – Part 2»

Encontrar el día de la semana para una fecha dada

Escribe una función que calcule el día de la semana para cualquier fecha en particular en el pasado o en el futuro. Una aplicación típica es calcular el día de la semana en que nació alguien o ocurrió algún otro evento especial.   La siguiente es una función simple sugerida por Sakamoto, Lachman, Keith y Craver … Continue reading «Encontrar el día de la semana para una fecha dada»

Cola: implementación de lista enlazada

En la publicación anterior , presentamos Queue y discutimos la implementación de arreglos. En esta publicación, se analiza la implementación de listas vinculadas. Las siguientes dos operaciones principales deben implementarse de manera eficiente. En una estructura de datos de cola , mantenemos dos punteros, delantero y trasero . El frente apunta al primer elemento de … Continue reading «Cola: implementación de lista enlazada»