贪心法--零钱找零问题

问题描述:现在有2元、1元、0.5元、0.2元、0.1元、0.05元的纸币,如何才能使得找零的的张数最小

基本思路;将纸币从大到小排序,尽可能地先找大额的;

coins = [2,1,0.5,0.2,0.1,0.05]
money = 5.65
def coinChange(coins,money):
    count = 0
    i = 0
    res=[]
    while i<len(coins):
        if money>=coins[i]:
            n=int(money/coins[i])
            for _ in range(n):
                res.append(coins[i])
            count+=n
            change=n*coins[i]
            money=money-change
        i+=1
    return count,res

猜你喜欢

转载自www.cnblogs.com/xiximayou/p/11925294.html
今日推荐