zoukankan      html  css  js  c++  java
  • JS 排列组合

    function $CL(arr, n, noLC, arrDan) 

    { //从arr中取n个组合,然后

        var r = [], sum = 0;

        n = n - arrDan.length;

    (function f(t, a, n) 

    {

            if (n == 0) 

    return r.push(t);

            if (a.length < 1) 

    return;

            for (var i = 0,l = a.length - n; i <= l; i++) 

    {

                f(t.concat(a[i]), a.slice(i + 1), n - 1);

            }

        })(arrDan, arr, n);

    if (noLC) 

    return r; //返回一个组合数组[[],[],[]]

    for (var i = r.length; i--; ) 

    sum += get1(r[i]); //计算每个组合的连乘的和

        return sum;

    };

    function $CLDT(arr_D, arr_T, n, noLC) 

    {

    //从arr中取n个组合,然后

        var r = [], sum = 0;

    (function f(t, a, n)

     {

            if (n == 0) return r.push(t);

            for (var i = 0,l = a.length - n; i <= l; i++) 

            {

                f(t.concat(a[i]), a.slice(i + 1), n - 1);

            }

        })(arr_D, arr, n);

    if (noLC) 

    return r; //返回一个组合数组[[],[],[]]

    for (var i = r.length; i--; ) 

    sum += get1(r[i]); //计算每个组合的连乘的和

        return sum;

    };

  • 相关阅读:
    UE4 学习 噩梦项目
    字符串学习笔记
    luogu P4391 [BOI2009]Radio Transmission 无线传输
    luogu P2153 [SDOI2009]晨跑
    网络流学习笔记
    UVA437 【巴比伦塔 The Tower of Babylon】
    基础重修笔记
    luogu P1283 【平板涂色】
    树链剖分学习笔记
    DP学习笔记
  • 原文地址:https://www.cnblogs.com/lizihong/p/4311455.html
Copyright © 2011-2022 走看看