Top 150 des entrevuesMoyen

Changement de pièce

Guide détaillé et implémentation de Python pour le problème 'Coin Change'.

Énoncé du problème

Moyen

Vous recevez un tableau de pièces entières représentant des pièces de différentes dénominations et un montant entier représentant une somme d'argent totale.

Renvoyez le moins de pièces dont vous avez besoin pour compenser ce montant. Si cette somme d’argent ne peut être compensée par aucune combinaison de pièces, renvoyez -1.

Vous pouvez supposer que vous possédez un nombre infini de chaque type de pièce.

Écrivez une fonction coinChange(coins: List[int], amount: int) -> int.

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

Exemples

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?
Pensez à utiliser des structures de données 1D spécifiques à DP, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.