重新撸码

从一个数组中取任意几位排列组合

2022-11-01  本文已影响0人  大黄蜂阿天
        $arr = [1, 2, 3, 4, 5, 6];
        $finalRes = [];
        vs($arr, 0, [], $finalRes, 4);
        foreach($finalRes as $v){
            echo implode("", $v)."\r\n";
        }

        function vs($arr, $i, $res = [], &$finalRes = [], $num)
        {
            if (count($res) == $num) {
                $finalRes[] = $res;
                return;
            }
            if ($i == count($arr)) {
                return;
            }
            $res_  = $res;
            $res[] = $arr[$i];
            vs($arr, $i + 1, $res, $finalRes, $num);
            vs($arr, $i + 1, $res_, $finalRes, $num);
        }
上一篇 下一篇

猜你喜欢

热点阅读