Cuente el número de formas de dividir N en k grupos de forma incremental

Dados dos números enteros N y K , la tarea es contar el número de formas de dividir N en K grupos de números enteros positivos de modo que su suma sea N y el número de elementos en los grupos siga un orden no decreciente (es decir, grupo[i] <= grupo[i+1]). Ejemplos:   Entrada: N = … Continue reading «Cuente el número de formas de dividir N en k grupos de forma incremental»

Imprima todos los caminos posibles para escapar de una array desde una posición dada utilizando como máximo K movimientos

Dada una array mat[][] de dimensión N*M , un entero positivo K y la celda de origen (X, Y) , la tarea es imprimir todas las rutas posibles para salir de la array desde la celda de origen (X, Y ) moviéndose en las cuatro direcciones en cada movimiento en un máximo de K movimientos. … Continue reading «Imprima todos los caminos posibles para escapar de una array desde una posición dada utilizando como máximo K movimientos»

Genere todas las strings posibles formadas reemplazando letras con los símbolos respectivos dados

Dada una string S que consta de N caracteres y una array M[] de pares de caracteres tal que cualquier carácter M[i][0] se puede reemplazar con el carácter M[i][1] en la string S , la tarea es para generar todas las strings posibles formadas al reemplazar algunos caracteres de la string con sus respectivos símbolos … Continue reading «Genere todas las strings posibles formadas reemplazando letras con los símbolos respectivos dados»

Decodificar una string codificada recursivamente como recuento seguido de substring

Se da una string (s) codificada, la tarea es decodificarla. El patrón en el que se codifican las strings es el siguiente.  <count>[sub_str] ==> The substring ‘sub_str’ appears count times. Ejemplos:   Input : str[] = «1[b]» Output : b Input : str[] = «2[ab]» Output : abab Input : str[] = «2[a2[b]]» Output : abbabb … Continue reading «Decodificar una string codificada recursivamente como recuento seguido de substring»

Secuencia consecutiva más larga en el árbol binario

Dado un árbol binario, encuentre la longitud de la ruta más larga que se compone de Nodes con valores consecutivos en orden creciente. Cada Node se considera como un camino de longitud 1. Ejemplos:   In below diagram binary tree with longest consecutive path(LCP) are shown : C++ // C/C++ program to find longest consecutive // … Continue reading «Secuencia consecutiva más larga en el árbol binario»

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»

Maximizar la suma del producto de los elementos vecinos del elemento eliminado de Array

Dada una array A[] de tamaño N , la tarea es encontrar la puntuación máxima posible de esta array. La puntuación de una array se calcula realizando las siguientes operaciones en la array hasta que el tamaño de la array sea mayor que 2: Seleccione un índice i tal que   1 < i < … Continue reading «Maximizar la suma del producto de los elementos vecinos del elemento eliminado de Array»

Problemas de práctica recursiva con soluciones

Fundamentos – recursividad Funciones recursivas Recursión de cola Cuerdas – Dada una string, imprime todas las particiones palindrómicas posibles Comprobar si un número es palíndromo Imprime todas las strings posibles de longitud k que se pueden formar a partir de un conjunto de n caracteres Implementación recursiva de atoi() Encuentre todas las secuencias binarias de … Continue reading «Problemas de práctica recursiva con soluciones»

Programa para la longitud de una string usando recursividad

Dada una string, calcule la longitud de la string usando la recursividad. Ejemplos:   Input : str = «abcd» Output :4 Input : str = «GEEKSFORGEEKS» Output :13 C++ // CPP program to calculate length of  // a string using recursion #include <bits/stdc++.h> using namespace std;    /* Function to calculate length */ int recLen(char* str)     { … Continue reading «Programa para la longitud de una string usando recursividad»

Invertir una lista doblemente enlazada usando recursividad

Dada una lista doblemente enlazada. Invertirlo usando recursividad. Original Doubly linked list Reversed Doubly linked list Hemos discutido  la solución iterativa para revertir una lista doblemente enlazada Algoritmo: Si la lista está vacía, devuelve  Cabeza inversa intercambiando cabeza->anterior y cabeza->siguiente  Si prev = NULL significa que la lista está completamente invertida. De lo contrario, revertir … Continue reading «Invertir una lista doblemente enlazada usando recursividad»