Haga que todos los elementos de la array sean iguales con las operaciones dadas

Dada una array arr[] de enteros positivos, encuentre el número mínimo de operaciones requeridas para hacer que todos los elementos de la array sean iguales donde:   Si hay un número impar, incremente el elemento y el siguiente elemento adyacente en 1. Cada incremento cuesta una operación. Nota: si hay algún número en arr[] que es … Continue reading «Haga que todos los elementos de la array sean iguales con las operaciones dadas»

Encuentre un par (n, r) en una array de enteros tal que el valor de nCr sea máximo

Dada una array de enteros no negativos arr[] . La tarea es encontrar un par (n, r) tal que el valor de n C r sea el máximo posible r < n .   norte C r = norte ! / (r! * (n – r)!)  Ejemplos:   Entrada: arr[] = {5, 2, 3, 4, 1}  Salida: … Continue reading «Encuentre un par (n, r) en una array de enteros tal que el valor de nCr sea máximo»

Recuento de cuatrillizos con Suma dada

Dadas cuatro arrays que contienen elementos enteros y una suma de enteros , la tarea es contar los cuatrillizos de modo que cada elemento se elija de una array diferente y la suma de los cuatro elementos sea igual a la suma dada. Ejemplos:  Entrada: P[] = {0, 2}, Q[] = {-1, -2}, R[] = … Continue reading «Recuento de cuatrillizos con Suma dada»

Comprobar si un número tiene dígitos en el Orden dado

Dado un número N. La tarea es verificar si los dígitos del número siguen alguno de los siguientes órdenes:   Los dígitos están en orden estrictamente creciente. O bien, los dígitos están en orden estrictamente decreciente. O bien, los dígitos siguen un orden estrictamente creciente primero y luego estrictamente decreciente. Si el número sigue cualquiera de … Continue reading «Comprobar si un número tiene dígitos en el Orden dado»

Primero en llegar, primero en servir: programación de CPU | (No preventivo)

Programación FCFS: El algoritmo de programación de CPU más simple que programa de acuerdo con los tiempos de llegada de los procesos. El algoritmo de programación por orden de llegada establece que el proceso que solicita la CPU primero recibe la CPU primero. Se implementa utilizando la cola FIFO . Cuando un proceso ingresa a … Continue reading «Primero en llegar, primero en servir: programación de CPU | (No preventivo)»

Máximo OR bit a bit posible de los dos números del rango [L, R]

Dado un rango [L, R] , la tarea es encontrar el OR bit a bit máximo de algún par (a, b) del rango dado. Ejemplos:   Entrada: L = 10, R = 20  Salida: 31 Entrada: L = 56, R = 77  Salida: 127   Enfoque: primero, convierta los números enteros L y R dados en sus … Continue reading «Máximo OR bit a bit posible de los dos números del rango [L, R]»

Aplanar BST a lista ordenada | orden creciente

Dado un árbol de búsqueda binario, la tarea es aplanarlo en una lista ordenada. Precisamente, el valor de cada Node debe ser menor que los valores de todos los Nodes a su derecha, y su Node izquierdo debe ser NULL después del aplanamiento. Debemos hacerlo en O(H) espacio extra donde ‘H’ es la altura de … Continue reading «Aplanar BST a lista ordenada | orden creciente»

Suma mínima obtenida al elegir N número de N pares dados

Dada una array arr[] de N pares de enteros (A, B) donde N es par, la tarea es encontrar la suma mínima de elegir N elementos tales que el valor A y B de todos los pares se elijan exactamente (N/2 ) veces. Ejemplos:   Entrada: N = 4, arr[][] = { {7, 20}, {300, 50}, … Continue reading «Suma mínima obtenida al elegir N número de N pares dados»

Cuente el número de divisores comunes de las strings dadas

Dadas dos strings a y b , la tarea es contar el número de divisores comunes de ambas strings. Una string s es un divisor de la string t si t se puede generar repitiendo s varias veces. Ejemplos:   Entrada: a = “xaxa”, b = “xaxaxaxa”  Salida: 2  Los divisores comunes son “xa” y “xaxa” … Continue reading «Cuente el número de divisores comunes de las strings dadas»

¿Qué es la memorización? Un tutorial completo

El término “ Memoización ” proviene de la palabra latina “ memorandum ” ( recordar ), que comúnmente se abrevia como “memo” en inglés americano, y que significa “transformar los resultados de una función en algo para recordar”. En informática, la memorización se utiliza para acelerar los programas informáticos al eliminar el cálculo repetitivo de … Continue reading «¿Qué es la memorización? Un tutorial completo»