info
Importante: Para que se registre el resultado tienes que iniciar sesión.
Cambio de monedas
Master100 pts·Algoritmos
Enunciado
Cambio de monedas
Dado un array de denominaciones de monedas coins y un monto objetivo amount, devuelve el número mínimo de monedas necesarias para completar ese monto.
Si no es posible completar el monto con las monedas disponibles, devuelve -1.
Puedes usar cada moneda tantas veces como necesites.
Ejemplos
entrada: coins = [1, 5, 11], amount = 15
salida: 3
entrada: coins = [2], amount = 3
salida: -1
entrada: coins = [1], amount = 0
salida: 0
entrada: coins = [1, 2, 5], amount = 11
salida: 3
Restricciones
1 <= len(coins) <= 121 <= coins[i] <= 2**31 - 10 <= amount <= 10_000
Pista
Usa programación dinámica. Define dp[i] como el número mínimo de monedas para completar el monto i. Inicializa dp[0] = 0 y el resto con infinito.
Restriccionesexpand_more
- Dificultad: Master
- Completa todos los test cases para obtener los 100 puntos.
- No modificar la línea
exportal final del archivo. - Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
Puedes usar print() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.
Inicia sesión para reaccionar
Inicia sesión para reaccionar