贪心算法之找零问题

问题:店家现有纸币:100元、50元、20元、5元、1元,对于某一商品的费用找钱,如何使得找的纸币数量最少

解决:贪心算法

代码:

def change_money(data, num):
    """ 
    :param data: 纸币面值
    :param num: 当前费用
    :return: 对应纸币面值数量;最后剩余钱数
    """
    d = [0] * len(data)
    for i, money in enumerate(data):
        d[i] = num // money
        num = num % money
    return d, num


if __name__ == '__main__':
    li = [100, 50, 20, 5, 1]
    print(change_money(li, 200))

结果展示:

 

posted @ 2021-04-17 22:14  今夜无风  阅读(268)  评论(0编辑  收藏  举报