其他分享
首页 > 其他分享> > 排列组合分析

排列组合分析

作者:互联网

输入数组和排列数:[1,2,3,4] 3          输出: [[1, 2, 3],[1, 2, 4],[1, 3, 4],[ 2, 3, 4]]

 function combination(arr, m) {
            let res = [];
            handle([], arr, m);
            return res;
            function handle(t, a, m) {
                //t:临时数组 a:目标数组 m:组合数
                if (m === 0) {
                    res[res.length] = t;//相当于push
                    return;
                }
                for (let i = 0; i <= a.length - m; i++) {
                    //从0开始 到n-m

                    let b = t.slice();//将t拷贝给b 
                    b.push(a[i])
                    handle(b, a.slice(i + 1), m - 1);
                }
            }
        }
        console.log(combination([1,2,3,4],3));

 

标签:分析,function,arr,handle,res,return,数组,排列组合
来源: https://www.cnblogs.com/sjfeng/p/16170982.html