150 principais entrevistasMédio

Troca de Moeda II

Guia detalhado e implementação de Python para o problema 'Coin Change II'.

Declaração do problema

Médio

Você recebe uma matriz inteira de moedas representando moedas de diferentes denominações e um valor inteiro representando uma quantia total de dinheiro.

Retorne o número de combinações que compõem esse valor. Se essa quantia de dinheiro não puder ser compensada por nenhuma combinação de moedas, retorne 0.

Você pode presumir que possui um número infinito de cada tipo de moeda.

Escreva uma função change(amount: int, coins: List[int]) -> int.

Restrições
  • 1 <= len(coins) <= 300
  • 1 <= coins[i] <= 5000
  • 0 <= amount <= 5000

Exemplos

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

There are four ways to make up the amount: 5, 2+2+1, 2+1+1+1, 1+1+1+1+1.

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

The amount of 3 cannot be made up with just 2s.

Need a Hint?
Considere o uso de estruturas de dados 2D específicas de DP, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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 Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.