我正在寻找形式简单的算法,来自数组:
$condition = array(2, 20, 200);
为:
$condition = array(2, 20, 200, 22, 202, 220, 222);
有人可以告诉一些简单的事情:
if(!empty($condition))
{
$a = 1;
$condition_temp = array();
foreach($condition as $c1)
{
$c2 =array_slice($condition, $a++);
foreach($c2 as $c3)
{
$condition_temp[] = $c1 + $c3;
}
}
$condition_temp[] = array_sum($condition);
$condition = array_merge($condition, $condition_temp);
}
结果数组的顺序并不重要。 thx求助:)
答案 0 :(得分:0)
这取决于......您可以在O(n)
中使用更多内存来存储子总和,或者您可以使用更多时间和更少内存在O(n^2)
中进行操作。这取决于您拥有多少数字以及计算总和所需的速度。