贪心算法-找零问题
贪⼼算法(⼜称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
贪⼼算法并不保证会得到最优解,但是在某些问题上贪⼼算法的解就是最优解。要会判断⼀个问题能否⽤贪⼼算法来计算。
找零问题
找零问题假设商店⽼板需要找零n元钱,钱币的⾯额有:100元、50元、20元、5元、1元,如何找零使得所需钱币的数量最少?
t = [100, 50, 20, 5]
def change(t, n):
m = [0 for _ in range(len(t))]
for i, money in enumerate(t):
m[i] = n // money
n = n % money
return m, n
print(change(t, 376))