|Cambio de monedasMaster
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 20:00

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) <= 12
  • 1 <= coins[i] <= 2**31 - 1
  • 0 <= 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 export al 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
Cambio de monedas — Master | Coding Challenges · Coding Challenges