0
以下は、コインチェンジの問題の最小限の解決策です。それは必要な変更であるインチェンジ、およびコイン貨幣の配列を取ります。その変更を行うために必要な最小コインを返します。分割と征服 - 最小コイン - コインを配列として返す
これを変更してコインの配列も返すことができますか?
例えば、[1、2、5]の値を10セント変更するように要求された場合、2コイン分、2つのニッケルの配列[0、0,2]を返します。
if change in coinValueList:
return 1
は、コインのリストにこれを変換するには、単にリターン:あなたが行われているかを示しますテスト - 任意の再帰関数と同様に
def recMC(coinValueList,change):
minCoins = change
if change in coinValueList:
return 1
else:
for i in [c for c in coinValueList if c <= change]:
numCoins = 1 + recMC(coinValueList,change-i)
if numCoins < minCoins:
minCoins = numCoins
return minCoins
print(recMC([1,5,10,25],63))
私にとっては、いくつかの問題解決ウェブサイト([example](https://www.codewars.com/kata/knapsack-part-1-the-greedy-solution))のタスクのように見えます。私たちはあなたのためにコードを書いていますか? 何を試しましたか? – MaLiN2223