【发布时间】:2017-08-31 02:20:54
【问题描述】:
我最近被提出了以下用 Python 回答的面试问题 - 给定一个数量-值对列表,找到总和尽可能接近且至少与, 一些提供的价值。
例如,给定:[(1, $5), (3, $10), (2, $15)],期望值为 $36,答案将是 [(2,$15), (1,$10 )] 或 [(1,$15), (2,$10), (1,$5)]。原因是 40 美元是可以达到的大于或等于 36 美元的最小金额,这是达到该金额的两种方法。
我被难住了。有人有解决办法吗?
【问题讨论】:
-
你可以试试
itertools.combinations -
找出给定量值对的所有组合,然后取最小元素[s]
标签: python permutation dynamic-programming number-theory