作者litthe (流苏)
看板PHP
标题[请益] 想请教一种计算筛选的方法..
时间Sun Mar 26 21:16:14 2006
是这样的
我在阵列里面放了100个数字(乱数)
例如: 25、35、40、37、28、44...等
现在是想将这些数字筛选出来,三个三个成为一组
每一组的总和会最接近且小於100
(而如果有剩余的数字,则就单独成为一组)
想请问这样有没有比较合适的算法呢?
我想到是把
array[0]+array[1]+array[2]
array[0]+array[1]+array[3]
array[0]+array[1]+array[4]
...
...
array[0]+array[2]+array[3]
array[0]+array[2]+array[4]
...
...
array[99]+array[98]+array[97]
这些全部计算出来,然後做排序,抓取最接近且小於100的出来
例如是array[0]+array[51]+array[80]
然後把这三个当作第一组,接着将这三个数字剔除掉
然後进入下一轮,按照上面的方式继续加总计算,然後排序比较
....
这样似乎相当花费时间,况且数字如果更多时,感觉会相当恐怖
因此想请问有没有比较好的计算方式呢?
谢谢大家:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.95.121
1F:推 KennyL:或许可以用array_chunk切割,再用array_map计算? 没细想^^" 03/26 21:39