问题描述
问题:
给定一个浮点数组(大小 N
示例(为简单起见使用整数)
输入:
array = [1,2,3,4,5,6,7,8,9,10,11,12,13]
K = 60
输出:
subset = [1,13] # sum of 59
我已经尝试在 G4G 上进行搜索,但我没有找到任何可以解释 M = 10 的子集大小的内容。我正在尝试使用 Python 3 解决这个问题,但任何参考或来源都将不胜感激。
解决方法
阅读 the 0-1 knapsack problem 是一个很好的起点:给定一组具有相应值和权重的项目,以及最大权重限额 W,找到权重范围内的最大值项目集津贴 W.
你的问题和这个问题一样,但是所有的物品价值=它们的重量——所以你可以只使用背包问题的解决方案,或者(可能)你可以做一些更省时的利用这个。
祝你好运!