Menu
CoddyTech

Coin Change

Farklı madeni para değerlerinden oluşan coins listesini ve hedef amount değerini alırsın. Her madeni para değerini istediğin kadar kullanabilirsin. Değerleri toplamda tam olarak amount eden en az sayıda madeni parayı döndür; hiçbir madeni para kombinasyonu bu değere ulaşamıyorsa -1 döndür. 0 tutar için 0 madeni para gerekir.

Fonksiyon

coinChange(coins: integer-array, amount: integer) → integer
coinsinteger-array
farklı madeni para değerleri, her biri istenildiği kadar kullanılabilir
amountinteger
ödenecek toplam tutarı tam olarak
Döndürürinteger
gereken en az madeni para sayısı veya tutar oluşturulamıyorsa -1

Kısıtlar

  • 1 ≤ coins.length ≤ 12
  • 1 ≤ coins[i] ≤ 104
  • 0 ≤ amount ≤ 104
  • Tüm madeni para değerleri farklıdır.

Örnekler

Girdi
coins = [2, 5, 10]amount = 27
Çıktı
4
Açıklama
10 + 10 + 5 + 2, dört madeni parayla 27 eder. Üç madeni para yetmez: 27 tek sayıdır, bu yüzden tam olarak bir tane 5'lik gerekir ve diğer iki madeni para en fazla 20 eder; 22'ye ulaşamaz.
challenge icon

Ek soru

En az sayıda coin'i bulmak yerine, amount değerine ulaşan kaç farklı coin kombinasyonu olduğunu sayabilir misin?

Kodu sıfırla
def coinChange(coins, amount):
    # Kodu buraya yazın

Test #1

Test #2

Test #3

Argümanlar

coins = [2, 5, 10]
amount = 27

Beklenen Çıktı

4