【发布时间】:2011-06-16 01:21:43
【问题描述】:
我的递归函数在 Array 中查找 nCr 对象时遇到问题。
这仅在r=2 时有效,意味着仅在进入 1 级时。
当r > 2 时,我的临时'a' 数组似乎全部搞砸了
// find nCr combinations in Array
// n -> keys.length
// r -> number of combination to extract (cross = r-1 )
console.clear();
var keys = [0,1,2,3,4,5];
// cross = 'r'-1, s = start point, a = array
function recursive(cross, s, a){
for( var i=s; i < keys.length; i++ ){
if( !cross ){
var b = a.slice(0);
b.push( keys[i] );
set.push( b );
}
else{
a.splice(-1, 1);
a.push(keys[i]);
recursive(cross-1, i+1, a);
}
}
}
var set = [];
recursive(1, 0, []);
console.log( set );
【问题讨论】:
标签: javascript math