Programación en algoritmos codiciosos

En este artículo, discutiremos varios algoritmos de programación para algoritmos codiciosos . Muchos problemas de programación se pueden resolver utilizando algoritmos codiciosos. Planteamiento del problema: dados N eventos con sus horas de inicio y finalización, encuentre un cronograma que incluya tantos eventos como sea posible. No es posible seleccionar un evento parcialmente. Considere los siguientes … Continue reading «Programación en algoritmos codiciosos»

Una pregunta sobre la complejidad del tiempo

¿Cuál es la complejidad temporal de la siguiente función fun()? Suponga que log(x) devuelve el valor de registro en base 2.  C++ void fun() {     int i, j;     for (i = 1; i <= n; i++)         for (j = 1; j <= log(i); j++)             cout << «GeeksforGeeks»; }   // This code is contributed by … Continue reading «Una pregunta sobre la complejidad del tiempo»

Subconjunto de suma máxima que tiene el mismo número de elementos positivos y negativos

Dada una array arr[] , la tarea es encontrar el subconjunto de suma máxima que contiene el mismo número de elementos positivos y negativos. Ejemplos: Entrada: arr[] = {1, -2, 3, 4, -5, 8}  Salida: 6  Explicación:  Subconjunto de suma máxima con igual número de elementos positivos y negativos {8, -2} Entrada: arr[] = {-1, … Continue reading «Subconjunto de suma máxima que tiene el mismo número de elementos positivos y negativos»

Suma de Dígitos de las Buenas Strings

Una string se dice buena si está hecha con solo dígitos del 0 al 9 y los elementos adyacentes son diferentes. La tarea es encontrar la suma de los dígitos de todas las posibles strings buenas de longitud X que terminan con el dígito Y dado . La respuesta podría ser grande, así que imprima … Continue reading «Suma de Dígitos de las Buenas Strings»

Los algoritmos de clasificación más lentos

Se utiliza un algoritmo de clasificación para reorganizar una array dada o enumerar elementos de acuerdo con un operador de comparación en los elementos. El operador de comparación se utiliza para decidir el nuevo orden del elemento en la estructura de datos respectiva . Pero a continuación se muestran algunos de los algoritmos de clasificación … Continue reading «Los algoritmos de clasificación más lentos»

Encuentre números que sean múltiplos de la primera array y factores de la segunda array

Dadas dos arrays A[] y B[] , la tarea es encontrar los números enteros que son divisibles por todos los elementos de la array A[] y dividir todos los elementos de la array B[] . Ejemplos:   Entrada: A[] = {1, 2, 2, 4}, B[] = {16, 32, 64}  Salida: 4 8 16  4, 8 y … Continue reading «Encuentre números que sean múltiplos de la primera array y factores de la segunda array»

Node de valor mínimo que tiene la profundidad máxima en un árbol N-ario

Dado un árbol de N Nodes, la tarea es encontrar el Node que tiene la máxima profundidad a partir del Node raíz, tomando el Node raíz a profundidad cero. Si hay más de 1 Node de profundidad máxima, busque el que tenga el valor más pequeño.  Ejemplos:  Input: 1 / \ 2 3 / \ … Continue reading «Node de valor mínimo que tiene la profundidad máxima en un árbol N-ario»

Eliminaciones mínimas requeridas de modo que cualquier número X ocurra exactamente X veces

Dada una array arr[] de N enteros, la tarea es encontrar las eliminaciones mínimas requeridas para que la frecuencia de arr[i] sea exactamente arr[i] en la array para todos los valores posibles de i . Ejemplos:   Entrada: arr[] = {1, 2, 2, 3, 3}  Salida: 2  Frecuencia (1) = 1  Frecuencia (2) = 2  Frecuencia … Continue reading «Eliminaciones mínimas requeridas de modo que cualquier número X ocurra exactamente X veces»

Substring palindrómica más corta

Dada una string, debe encontrar la substring palindrómica más corta de la string. Si hay varias respuestas, imprima la lexicográficamente más pequeña. Ejemplos:  Input: zyzz Output:y Input: abab Output: a Enfoque ingenuo:  El enfoque es similar a encontrar la substring palindrómica más larga. Realizamos un seguimiento de las substrings de longitudes pares e impares y … Continue reading «Substring palindrómica más corta»

Encuentre el Node más alejado de cada Node en Tree

Dado un árbol , la tarea es encontrar el Node más lejano de cada Node a otro Node en este árbol.  Ejemplo: Entrada: Lista de adyacencia dada del siguiente árbol:   Salida:  Node más lejano del Node 1: 6  Node más lejano del Node 2: 6  Node más lejano del Node 3: 6  Node más lejano … Continue reading «Encuentre el Node más alejado de cada Node en Tree»