Puedes resolverlo usando programación dinámica. (DP)
- Los parámetros pueden ser el valor actual y el número de iteraciones.
- Caso base: si las iteraciones son iguales a las iteraciones dadas, verifique si el número actual es mayor o no, luego regrese en consecuencia.
- Después de tomar cada número, puede cambiarlo a cuatro valores posibles en cuestión
“El número 3590 se puede ampliar a: 4590,3690,3500 o 3591”. - para que pueda hacerlo de muchas maneras con las que se sienta cómodo.
- Llame a la función con un nuevo valor y aumentando el número de iteración.
Es una solución fácil. Ve a por ello.
NB: soy un poco débil con la solución de abajo hacia arriba, así que estoy dando un enfoque de arriba hacia abajo
- ¿Cuál es el algoritmo de coincidencia utilizado por las declaraciones de consulta SQL del servidor SQL como "Me gusta 'A%'", "Me gusta '% A'" o "Me gusta '% A%'"?
- ¿Debo compartir un nuevo algoritmo de clasificación que escribí? ¿Existe algún potencial monetario en un algoritmo? De ser así, ¿cómo capitalizo?
- ¿Cuáles son algunos de los algoritmos / estructuras de datos que son útiles en la vida real?
- ¿Cuál es el enfoque de este problema algorítmico a continuación?
- Cómo mejorar mi solución Java para el problema 'nodo de hoja izquierda más profundo en un árbol binario'
Para el tercer punto ( puedes pensar así ):
cadena tst1;
REP (i, 0, 4) {
if (tst1 [i] == ‘9’) {
tst1 [i] = ‘0’;
deb (tst1);
tst1 [i] = ‘9’;
}
más {
tst1 [i] = tst1 [i] + 1; deb (tst1);
tst1 [i] = tst1 [i] – 1;
}
}