Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对php中最接近某个值但又唯一的变量的总和进行分组_Php_Arrays_Algorithm_Math - Fatal编程技术网

如何对php中最接近某个值但又唯一的变量的总和进行分组

如何对php中最接近某个值但又唯一的变量的总和进行分组,php,arrays,algorithm,math,Php,Arrays,Algorithm,Math,假设我有一个数组(5,3,5,7,10) 所需的数字是12 因此,我希望第一个堆栈是: ------------------------第一输出-------- 7+5=12(变量数较少的最佳组合)-排除7和5,永远不要使用它 ------------第二输出------------ 10-因为它是第二个最接近12的变量。(然后排除10,永远不要使用它) ------------第三输出---------- 5+3=8——因为它是距离12最近的第三个 我在网上搜索了所有的东西,但没有找到任何线索

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

所需的数字是12

因此,我希望第一个堆栈是:

------------------------第一输出--------

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

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

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

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

5+3=8——因为它是距离12最近的第三个

我在网上搜索了所有的东西,但没有找到任何线索


谢谢

这个问题更难解决


连续子问题本质上是较小子集上的近似版本。对于大型阵列来说,解决这个问题的速度会非常慢。

这难道不能有效地将它们相加吗?为什么顺序很重要?您需要三个最接近的输出还是使用数组中的所有值?如果是最接近的一个数,那么两个以上的数可以求和吗?我的意思是,我想找到所有接近一个数的变量。变量求和,但不重复。更准确地说,我有一个数组(2,3,55,32,43),我需要最接近数字60但不重复的变量的最佳组合