排列 组合

Posted 鞍山老菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排列 组合相关的知识,希望对你有一定的参考价值。

//组合
function C(arr, num){
    var r=[];
    (function f(t,a,n){
        if (n==0) return r.push(t);
        for (var i=0,l=a.length; i<=l-n; i++){
            f(t.concat(a[i]), a.slice(i+1), n-1);
        }
    })([],arr,num);
    return r;
}

//排列
function A(arr, num){
    var r=[];
    (function f(t,a,n){
        if (n==0) return r.push(t);
        for (var i=0,l=a.length; i<l; i++){
            f(t.concat(a[i]), a.slice(0,i).concat(a.slice(i+1)), n-1);
        }
    })([],arr,num);
    return r;
}

var r1 = C("0123456789".split(""),3);
document.write(组合:<ol><li>+r1.join(</li><li>)+</li></ol><br/><br/>);
var r2 = A("0123456789".split(""),3);
document.write(排列:<ol><li>+r2.join(</li><li>)+</li></ol>);

以上是关于排列 组合的主要内容,如果未能解决你的问题,请参考以下文章

离散:常用排列组合模型归纳,DFS代码实现

关于各种排列组合java算法实现方法

html 将以编程方式附加外部脚本文件的javascript代码片段,并按顺序排列。用于响应式网站,其中ma

Java 全排列与组合

c# 排列组合代码类

代码题(19)— 组合与排列