Contar posibles formas de construir edificios.

Dado un número de entrada de secciones y cada sección tiene 2 parcelas a ambos lados de la carretera. Encuentre todas las formas posibles de construir edificios en las parcelas de modo que haya un espacio entre 2 edificios cualesquiera. Ejemplo :  N = 1 Output = 4 Place a building on one side. Place … Continue reading «Contar posibles formas de construir edificios.»

Subsecuencia de suma máxima con al menos k elementos distantes

Dado un arreglo y un número k, encuentre una subsecuencia tal que La suma de los elementos en la subsecuencia es máxima Los índices de los elementos de la subsecuencia difieren al menos en k Ejemplos Input : arr[] = {4, 5, 8, 7, 5, 4, 3, 4, 6, 5} k = 2 Output: 19 … Continue reading «Subsecuencia de suma máxima con al menos k elementos distantes»

Probabilidad de obtener al menos K caras en N lanzamientos de monedas

Dado un número N de monedas, la tarea es encontrar la probabilidad de obtener al menos un número K de caras después de lanzar todas las N monedas simultáneamente. Ejemplo :   Suppose we have 3 unbiased coins and we have to find the probability of getting at least 2 heads, so there are 23 = … Continue reading «Probabilidad de obtener al menos K caras en N lanzamientos de monedas»

Cuente el número de formas de saltar para llegar al final

Dada una array de números donde cada elemento representa el número máximo de saltos que se pueden realizar desde ese elemento. Para cada elemento de la array, cuente la cantidad de formas en que se pueden realizar saltos desde ese elemento para llegar al final de la array. Si un elemento es 0 , entonces … Continue reading «Cuente el número de formas de saltar para llegar al final»

Ruta con valor medio máximo

Dada una array cuadrada de tamaño N*N, donde cada celda tiene asociado un costo específico. Una ruta se define como una secuencia específica de celdas que comienza en la celda superior izquierda, se mueve solo hacia la derecha o hacia abajo y termina en la celda inferior derecha. Queremos encontrar un camino con el promedio … Continue reading «Ruta con valor medio máximo»

Cuente todos los caminos posibles desde la parte superior izquierda hasta la parte inferior derecha de una array mXn

El problema es contar todos los caminos posibles desde la parte superior izquierda hasta la parte inferior derecha de una array mXn con las restricciones de que desde cada celda puede moverse solo hacia la derecha o hacia abajo . Ejemplos:  Input : m = 2, n = 2; Output : 2 There are two … Continue reading «Cuente todos los caminos posibles desde la parte superior izquierda hasta la parte inferior derecha de una array mXn»

Tabulación vs Memoización

Requisito previo: programación dinámica , ¿cómo resolver problemas de programación dinámica?  Hay dos formas diferentes de almacenar los valores para que los valores de un subproblema se puedan reutilizar. Aquí, discutiremos dos patrones para resolver problemas de programación dinámica (DP):   Tabulación: de abajo hacia arriba Memoización: de arriba hacia abajo Antes de llegar a las … Continue reading «Tabulación vs Memoización»

Tamaño de la array después de la eliminación repetida de LIS

Dada una array arr[0..n-1] del elemento positivo. La tarea es imprimir los elementos restantes de arr[] después de la eliminación repetida de LIS (de tamaño superior a 1). Si hay varios LIS con la misma longitud, debemos elegir el LIS que termina primero. Ejemplos:  Input : arr[] = {1, 2, 5, 3, 6, 4, 1} … Continue reading «Tamaño de la array después de la eliminación repetida de LIS»

Suma máxima de caminos en un triángulo.

Hemos dado números en forma de triángulo, comenzando en la parte superior del triángulo y moviéndose a los números adyacentes en la fila de abajo, encuentre el total máximo de arriba hacia abajo. Ejemplos:  Input : 3 7 4 2 4 6 8 5 9 3 Output : 23 Explanation : 3 + 7 + 4 … Continue reading «Suma máxima de caminos en un triángulo.»

Subarreglo de suma máxima eliminando como máximo un elemento

Dada una array, necesitamos encontrar el subarreglo de suma máxima, también se permite eliminar un elemento para obtener la suma máxima. Ejemplos:  Input : arr[] = {1, 2, 3, -4, 5} Output : 11 Explanation : We can get maximum sum subarray by removing -4. Input : arr[] = [-2, -3, 4, -1, -2, 1, … Continue reading «Subarreglo de suma máxima eliminando como máximo un elemento»