Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.
For example,If n = 4 and k = 2, a solution is:
[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]
這個(gè)幾乎是最標(biāo)準(zhǔn)的回溯問題
篩選組合的條件有兩個(gè)荔燎,一個(gè)是組合的長度酣倾,一個(gè)是不選重復(fù)元素
var combine = function(n, k) {
var result = [];
if (n===0||k===0)
return result;
var help = function(res,start){
if (res.length===k)
result.push(res.concat());
else {
for(var i = start;i <= n; i++) {
res.push(i);
help(res,i+1);
res.pop();
}
}
};
help([],1);
return result;
};