从长度为m的数组arr中取n个数的结合
从长度为m的数组arr中取n个数的组合
RT, 用js怎么实现,例如从arr=[1,3,5]中取2个数的组合,要求输出结果为[[1,3],[1,5],[3,5]]
------解决思路----------------------
http://blog.****.net/huangkangying/article/details/6867295
function AAA(array,M){
var N=array.length;
var top=0,queue=[],flag=[],arr=[],_arr=[];
function comb(s, n, m)
{
var i;
if (s > n)
return ;
if (top == m)
{
for (i = 0; i < m; i++)
{_arr.push(queue[i]);
}
arr.push(_arr)
_arr=[]
return ;
}
queue[top++] = array[s];
comb(s+1, n, m);
top--;
comb(s+1, n, m);
}
comb(0, N, M);
return arr
}
AAA([1,3,5],2)
RT, 用js怎么实现,例如从arr=[1,3,5]中取2个数的组合,要求输出结果为[[1,3],[1,5],[3,5]]
------解决思路----------------------
http://blog.****.net/huangkangying/article/details/6867295
function AAA(array,M){
var N=array.length;
var top=0,queue=[],flag=[],arr=[],_arr=[];
function comb(s, n, m)
{
var i;
if (s > n)
return ;
if (top == m)
{
for (i = 0; i < m; i++)
{_arr.push(queue[i]);
}
arr.push(_arr)
_arr=[]
return ;
}
queue[top++] = array[s];
comb(s+1, n, m);
top--;
comb(s+1, n, m);
}
comb(0, N, M);
return arr
}
AAA([1,3,5],2)