def coinChange(self, coins, amount):
    '\n        :type coins: List[int]\n        :type amount: int\n        :rtype: int\n        '
    res = ([(amount + 1)] * (amount + 1))
    res[0] = 0
    for i in range(1, (amount + 1)):
        for j in coins:
            if (j <= i):
                res[i] = min(res[i], (res[(i - j)] + 1))
    if (res[amount] > amount):
        return (- 1)
    else:
        return res[amount]
:type coins: List[int]
:type amount: int
:rtype: int
def coinChange(self, coins, amount):
    '\n        :type coins: List[int]\n        :type amount: int\n        :rtype: int\n        '
    res = ([(amount + 1)] * (amount + 1))
    res[0] = 0
    for i in range(1, (amount + 1)):
        for j in coins:
            if (j <= i):
                res[i] = min(res[i], (res[(i - j)] + 1))
    if (res[amount] > amount):
        return (- 1)
    else:
        return res[amount]