# 找零問題
def coinChange(coins, amount):
"""
:type coins: List[int]
:type amount: int
:return: num of used coins
"""
dp = [amount + 1 for _ in range(amount + 1)]
used = [0 for _ in range(amount + 1)]
dp[0] = 0
for coin in coins:
for i in range(coin, amount + 1):
if dp[i] > dp[i - coin] + 1:
dp[i] = dp[i - coin] + 1
used[i] = coin
return used, dp[amount] if dp[amount] < amount + 1 else -1
def used_detail(coins, used, amount):
dicts = {i: 0 for i in coins}
while amount > 0:
dicts[used[amount]] += 1
amount -= used[amount]
return dicts
coins = [1,2,5,10]
amount = 63
used, num = coinChange(coins, amount)
d = used_detail(coins, used, 63)
print('number of coins: ', num)
print(d)
找零問題
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。