题目
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
思路

var combine = function(n, k) {let res =[];let path =[];const backTracing =function(n,k,startIndex){if(path.length ===k){// 用slice效率更高?// res.push(path.slice());// 如果不进行拷贝,则push的是一个array引用,但path最后会是空(被全部pop)res.push([...path]);return;}// i的范围运用了剪枝思想for(let i =startIndex;i<=n-(k-path.length)+1;i++){path.push(i);backTracing(n,k,i+1);path.pop();}}backTracing(n,k,1);// console.log(res);return res;};
