最小硬币找零问题-回溯

问题描述

我正在尝试用最少的硬币数量解决硬币找零问题 使用回溯方法

我实际上已经做完了,但是我想添加一些选项来打印硬币数量,而不仅仅是单位。

这是我下面的python代码

fetch('/api/bank/'+ id + '?_method=delete')

我正在努力在代码中实现这一点。

由于回溯很复杂,我不知道如何按其单位检查硬币数量

解决方法

可能的方式:

def minimum_coins(coin_list,change):
    min_coins = change
    if change in coin_list:
        return 1,[change]
    else:
        cl = []
        for coin in coin_list:
            if coin < change:
                mt,t = minimum_coins(coin_list,change - coin)
                num_coins = 1 + mt
                if num_coins < min_coins:
                    min_coins = num_coins
                    cl = t + [coin]
    return min_coins,cl

change = 73
coin_list = [1,10,15,20]
min,c = minimum_coins(coin_list,change)
#print("You need 3 1's,1 10's,0 15's,3 20's") <- I want to implement this option.
print("Total number of coins required is %s." % min,c) #7

>>>Total number of coins required is 7. [20,20,1,1]