1週間後、多くのアルゴリズムを他の言語からphpに検索して変換し、「nからkの組み合わせ」を含む配列を作成しました。私は立ち往生しています。私を助けてください。
これは私のコードです(phpを使用):
function comb($item,$arr,$out, $start, $n, $k, $maxk) {
if ($k > $maxk) {
foreach($arr as $ar){
echo "$ar";
echo "<br/>";
}
return;
}
for ($i=$start; $i<=$n; $i++) {
$arr[$k] = $item[$i-1];
comb($isi, $arr, $out, $i+1, $n, $k+1, $maxk);
}
}
$team = array("A","B","C","D");
$ar = array();
$o = array();
comb($team,$ar,$o,1,4,1,2);
上記の再帰アルゴリズムは本当に私を混乱させます。上記のコードは組み合わせを形成することに成功しましたが、再帰的な特性のため、それらを 1 つの配列にマージすることはできません。4つのアイテムから2つを組み合わせた結果を含む配列を作成したいだけです。このように(以下を参照)
Array (
[0] => Array (
[1] => A
[2] => B
)
[1] => Array (
[1] => A
[2] => C
)
[2] => Array (
[1] => A
[2] => D
)
[3] => Array (
[1] => B
[2] => C
)
[4] => Array (
[1] => B
[2] => D
)
[5] => Array (
[1] => C
[2] => D
)
)
私はまだ答えにはほど遠いことを知っています。しかし、その答えにたどり着くように私を導いてください。他のテクニックを知っているかもしれませんが、それは問題ではありません。コードが機能する場合は、それを使用します。どんなテクニックを使っても構いません。どんなアイデアでも大歓迎です、ありがとう..!