/**
* @param {number} n
* @param {number} k
* @return {number[][]}
*/
var combine = function(n, k) {
// [1,2][1,3]
var result = [];
// [1,2]
var path = [];
// startIndex
var startIndex = 1;
// n k startindex
function backtracking (index){
// console.log(111);
if(path.length == k){
result.push(path.concat([]));
return;
}
// 已经选择的个数 path.length
// 还需要选择的个数 k - path.length
// 集合至多的起始位置 n-(k-path.length)+1
console.log('***********');
console.log((n-(k-path.length)+1));
for(var i = index;i<=(n-(k-path.length)+1);i++){
path.push(i);
backtracking(i+1);
path.pop();
}
}
backtracking(startIndex);
console.log(result);
return result
};
combine(4,4)
console