使用Knapsack或foreach查找最接近的聚合值

时间:2017-08-21 08:34:39

标签: php algorithm

我正在为我的问题寻找最简单的解决方案,这也是服务器上最节省时间的。

我有一个值,我必须尽可能接近,最少的项目汇总在一起。

我将值存储在多维数组中,这些数值小于我要查找的值。

解决方案nr.1我可以排序,通过foreach sentance发送,然后得到第一个和最后一个值然后求和它们,如果它们太大,那么使用下一个最大值,如果它们太小我可以使用下一个最小。

或者我可以尝试某种背包实现,这将使我使用的项目最少。

关于什么会更好的任何建议?或者我错过了一些解决方案?

    $example = array(
    [0]=>([val]=>'1684'),
    [1]=>([val]=>'2759'),
    [2]=>([val]=>'3997'),
    [3]=>([val]=>'8543'),
    [4]=>([val]=>'9534'),
    [5]=>([val]=>'957'),);

这是数组的示例,现在我想得到最接近13000的值。如果我每个阵列下注10和250个结果,那么最有效的路径是什么

0 个答案:

没有答案