好的,所以我有一个硬币数组,我想创建一个新的数组,该数组的长度与数组相同,但是需要输入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个硬币

最佳答案

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]

关于python - 贪婪算法和 append 函数-如何创建新数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53107607/

10-10 16:56