Le migliori 150 intervisteMedio

Cambio moneta

Guida dettagliata e implementazione Python per il problema del "cambio di moneta".

Dichiarazione del problema

Medio

Ti viene fornita una serie di monete intere che rappresentano monete di diversi tagli e un importo intero che rappresenta un importo totale di denaro.

Restituisci il minor numero di monete necessarie per recuperare tale importo. Se tale somma di denaro non può essere recuperata da nessuna combinazione di monete, restituisce -1.

Puoi supporre di avere un numero infinito di ciascun tipo di moneta.

Scrivi una funzione coinChange(coins: List[int], amount: int) -> int.

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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche per DP 1D come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.