大面值优先,找 63 要几枚
每次都从剩下的里挑最宽的
桌上的
挑走的
面值有 25、10、5、1 四种,要找 63。每次都拿不超过剩下金额的最大面值。运行下面这段程序:
def greedy(cs, t):
n = 0
for c in cs:
while t >= c:
t -= c
n += 1
return n
print(greedy([25, 10, 5, 1], 63))
每次都从剩下的里挑最宽的
桌上的
挑走的
面值有 25、10、5、1 四种,要找 63。每次都拿不超过剩下金额的最大面值。运行下面这段程序:
def greedy(cs, t):
n = 0
for c in cs:
while t >= c:
t -= c
n += 1
return n
print(greedy([25, 10, 5, 1], 63))
全部评论