【发布时间】:2019-02-04 05:52:33
【问题描述】:
我想计算所有可能的子集形式数组的总和。
$array= Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 6 ); //changing
function powerSet($array) {
// add the empty set
$results = array(array());
foreach ($array as $element) {
foreach ($results as $combination) {
$results[] = array_merge(array($element), $combination);
$total= array_sum($results); // I try this
}
echo $total; // I try this
}
return $results;
}
以上代码用于查找子集。我从here 找到了这段代码。我只是添加array_sum,但显示 0 如何找到每个子集的总数?有什么办法吗?
【问题讨论】:
-
你能举个例子解释一下吗?输入和输出是什么?
-
@BhaskarJain 检查更新的问题
-
您需要做的就是在函数末尾
$ans = array_map("array_sum", $results);这将为您提供所有子集总和的数组(我投票重新打开并尝试编辑 - 如果您想要官方答案请发布新的(更清晰的)帖子) -
^ 从哪里获得数组并不重要。在函数调用后执行。在
$ans = array_map("array_sum", powerSet($array));的情况下
标签: php arrays math set subset