我无法理解使用或失败的概念(变更问题)

时间:2019-12-08 03:43:59

标签: python recursion

def change(amount, coins):
    if not coins:
        return float('inf')

    if amount == 0:
        return 0


    if coins[0] > amount:
        return change(amount, coins[1:])

    else:
        handy = 1 + change(amount - coins[0], coins)
        handy2 = change(amount, coins[1:])

        return min(handy, handy2)

print(change(5, [1, 2, 3]))

这是解决以下问题的解决方案:找到可以总计达到一定数量的最小硬币数量。 (例如,change(313, [7, 24, 42]) == 101(7) + 4(24) + 5(42)等于313

我给它的输入的

Graph

我不知道哪个变量(handyhandy2)将“使用”和“丢失”。有人告诉我,所有分支都在上次递归调用之后从底部累加,但是我仍然对那是什么感到困惑。

0 个答案:

没有答案