• 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;

    };

  • 相关阅读:
    如何快速取得股票交易历史数据
    ArcSDE性能优化系列之ArcSDE参数篇
    2020年8月29日
    2020年8月31日
    9.2
    2020年8月25日
    2020年8月30日
    2020年8月27日
    2020年8月26日
    2020年8月28日
  • 原文地址:https://www.cnblogs.com/lizihong/p/4311455.html
Copyright © 2020-2023  润新知