Costo mínimo para fusionar números del 1 al N

Dado un número entero N , la tarea es encontrar el costo mínimo para combinar todos los números del 1 al N , donde el costo de combinar dos conjuntos de números A y B es igual al producto del producto de los números en los conjuntos respectivos. Ejemplos:   Entrada: N = 4  Salida: 32 … Continue reading «Costo mínimo para fusionar números del 1 al N»

Programa Java para fusionar listas enlazadas ordenadas K utilizando Min Heap – Conjunto 2

Dado k listas vinculadas, cada una de tamaño n y cada lista está ordenada en orden no decreciente, combínelas en una sola lista vinculada ordenada (orden no decreciente) e imprima la lista vinculada ordenada como salida. Ejemplos:  Input: k = 3, n = 4 list1 = 1->3->5->7->NULL list2 = 2->4->6->8->NULL list3 = 0->9->10->11->NULL Output: 0->1->2->3->4->5->6->7->8->9->10->11 … Continue reading «Programa Java para fusionar listas enlazadas ordenadas K utilizando Min Heap – Conjunto 2»

Montón máximo en Java

Un max-heap es un árbol binario completo en el que el valor de cada Node interno es mayor o igual que los valores de los elementos secundarios de ese Node. Asignar los elementos de un montón a una array es trivial: si un Node se almacena en un índice k, entonces su hijo izquierdo se … Continue reading «Montón máximo en Java»

Árbol de torneos (Árbol de ganadores) y Montón binario

Dado un equipo de N jugadores. ¿Cuántos juegos mínimos se requieren para encontrar al segundo mejor jugador?   Podemos usar argumentos adversarios basados ​​en el árbol del torneo (montón binario). Un árbol de torneo es una forma de montón mínimo (máximo) que es un árbol binario completo. Cada Node externo representa a un jugador y … Continue reading «Árbol de torneos (Árbol de ganadores) y Montón binario»

Entrevista de VMware | Juego 1 (MTS-2)

Entrevista de VMWare para el puesto de MTS-2. I Ronda telefónica 1. Dada una array de strings. Encuentre el prefijo máximo entre todas las strings. Respuesta: Primero se habló de los intentos. Luego fue por una respuesta trivial que decía comparar todos los índices cero y luego los primeros índices. 2. Similar al algoritmo de … Continue reading «Entrevista de VMware | Juego 1 (MTS-2)»

Comprobar si un árbol binario dado es un montón

Dado un árbol binario, debemos verificar si tiene propiedades de montón o no, el árbol binario debe cumplir las siguientes dos condiciones para ser un montón:  Debe ser un árbol completo (es decir, todos los niveles excepto el último deben estar llenos). El valor de cada Node debe ser mayor o igual que su Node … Continue reading «Comprobar si un árbol binario dado es un montón»

K-ésimo elemento más pequeño en una array 2D ordenada por filas y columnas | Serie 1

Dada una array nxn, donde cada fila y columna se ordena en orden no decreciente. Encuentre el k-ésimo elemento más pequeño en la array 2D dada. Ejemplo,  Input:k = 3 and array = 10, 20, 30, 40 15, 25, 35, 45 24, 29, 37, 48 32, 33, 39, 50 Output: 20 Explanation: The 3rd smallest … Continue reading «K-ésimo elemento más pequeño en una array 2D ordenada por filas y columnas | Serie 1»

El producto de triplete más grande en una corriente

Dado un flujo de enteros representado como arr[]. Para cada índice i de 0 a n-1, imprima la multiplicación del elemento más grande, el segundo más grande y el tercero más grande del subarreglo arr[0…i]. Si i < 2 imprime -1.  Ejemplos:  Input : arr[] = {1, 2, 3, 4, 5} Output :-1 -1 6 … Continue reading «El producto de triplete más grande en una corriente»

Encuentre la plataforma a la que llega el tren dado

Dada una array 2D arr[][3] que consta de información de N trenes, donde arr[i][0] es el número de tren, arr[i][1] es la hora de llegada y arr[i][2] es la duración del tiempo de parada. Dado otro entero F que representa el número de tren, la tarea es encontrar el número de plataforma en el que … Continue reading «Encuentre la plataforma a la que llega el tren dado»

Minimice la suma calculada eliminando repetidamente dos elementos cualesquiera e insertando su suma en el Array

Dados N elementos, puede eliminar cualquiera de los dos elementos de la lista, anotar su suma y agregar la suma a la lista. Repita estos pasos mientras haya más de un elemento en la lista. La tarea es minimizar la suma de estas sumas elegidas al final. Ejemplos:   Entrada: arr[] = {1, 4, 7, 10}  … Continue reading «Minimice la suma calculada eliminando repetidamente dos elementos cualesquiera e insertando su suma en el Array»