如何在php中对最接近某个值的变量求和进行分组,但也是唯一的

时间:2013-02-14 14:52:58

标签: php arrays algorithm math

假设我有一个数组(5,3,5,7,10)

所需数量为12

所以我想要第一个堆栈:

------------------------首先输出--------

7 + 5 = 12(变量数量较少的最佳组合) - 排除7和5,不要使用它

------------第二次输出------------

10 - 因为它是最接近12的第二个变量。(然后排除10,不要使用它)

------------第三次输出----------

5 + 3 = 8 - 因为它是第三个最接近12

我搜索了所有互联网,但我找不到线索

THANKYOU

1 个答案:

答案 0 :(得分:0)

此问题是Subset Sum Problem

的更难版本

连续的子问题基本上是较小子集上的近似版本。完全解决大型阵列的这个问题将非常缓慢。