Entrevista a los 150 mejoresMedio

Cambio de moneda

Guía detallada e implementación de Python para el problema 'Cambio de moneda'.

Declaración del problema

Medio

Se le proporciona una matriz de monedas enteras que representan monedas de diferentes denominaciones y una cantidad entera que representa una cantidad total de dinero.

Devuelve la menor cantidad de monedas que necesites para completar esa cantidad. Si esa cantidad de dinero no se puede compensar con ninguna combinación de monedas, devuelve -1.

Puedes suponer que tienes un número infinito de cada tipo de moneda.

Escribe una función coinChange(coins: List[int], amount: int) -> int.

Restricciones
  • 1 <= len(coins) <= 12
  • 1 <= coins[i] <= 2^31 - 1
  • 0 <= amount <= 10^4

Ejemplos

Example 1
Input
coins = [1,2,5], amount = 11
Output
3
Explanation

11 = 5 + 5 + 1

Example 2
Input
coins = [2], amount = 3
Output
-1
Explanation

3 cannot be formed using only coins of denomination 2.

Example 3
Input
coins = [1], amount = 0
Output
0
Explanation

No coins are needed to make amount 0.

Need a Hint?
Considere el uso de estructuras de datos 1D específicas de DP, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.