贪婪算法和附加函数-如何创建新数组?

时间:2018-11-01 18:53:59

标签: python python-3.x append greedy

好吧,所以我有一个硬币数组,我想创建一个新数组,该数组的长度与数组相同,但是需要输入m的数组'coins'中的硬币数量。

coin = [200,100,50,20,10,5,2,1]

到目前为止,我有以下内容。我应该在for循环中返回什么?

def coinSplitGD2(m):

    coin = [200,100,50,20,10,5,2,1]

    if m==0:
        return 0
    for i in range(len(coin)):
        if coin...

因此,如果m为143,它将返回[0, 1, 0, 2, 0, 0, 1, 1],表示没有200个硬币,一个100个硬币,没有 50个硬币,两个20个硬币,没有10个硬币,没有5个硬币,一个2个硬币和1个1个硬币

1 个答案:

答案 0 :(得分:2)

coin = [200,100,50,20,10,5,2,1]
def coinSplitGD2(m):
    a = []
    for c in coin:
        a.append(m // c)
        m %= c
    return a

这样:

coinSplitGD2(143)

返回:

[0, 1, 0, 2, 0, 0, 1, 1]