【发布时间】:2011-07-20 08:13:52
【问题描述】:
问题:
具有数值的数组需要以近似相等或可能相等的数组总和分成两半。数组中元素的数量或顺序并不重要。
$probabilites = array(0.4, 0.15, 0.1, 0.1, 0.2, 0.2, 0.3); # 1.45
$probabilites[0] = array(0.4, 0.15, 0.1, 0.1); # 0.75
$probabilites[1] = array(0.2, 0.2, 0.3); # 0.7
有什么建议吗?
谢谢。
【问题讨论】:
-
应该维持给定的顺序吗?是例如
array(0.4, 0.15, 0.2)和array(0.2, 0.1, 0.1, 0.3)有效吗? (如果是,我想这会使事情复杂化。) -
@jensgram,我写道这根本不重要,只有两个数组的总和应该尽可能接近。是的,它是有效的,我们不能将 7 个元素分成两半,4 + 3 将是理想的。 MarvinLabs,~= :) 您可以在示例中看到,0.75 接近 0.7,反之亦然。
-
我的第一次尝试有一个很大的 YECK。