Ruby优化数组中的对象选择

时间:2013-11-30 13:06:31

标签: ruby arrays algorithm hash

我有一个数组对象(哈希,200-300个轨道),每个对象都有一个属性(整数秒)。我想选择一个随机选择的对象,以便它们的属性总和等于给定值(例如3600秒)。

我尝试过:选择随机对象&总结它们的持续时间,直到达到总平均持续时间。然后找到最适合最后“槽”的最终曲目。然而,这似乎是一种相当尴尬的方式,它并不总是工作。

我确定有一个更好的算法来完成这样的任务,我只是不知道如何表达我对它的搜索。

1 个答案:

答案 0 :(得分:0)

这里提供了一个非常好的解决方案:

http://rosettacode.org/wiki/Knapsack_problem/0-1#Dynamic_Programming

这很容易适应我的问题。