这段JavaScript的排列组合算法如何理解? 财富值62

2016-11-06 00:26发布

//组合 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; } 

看了很久,越看越头晕,尤其是内部的循环和递归调用

友情提示: 问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
0条回答

一周热门 更多>