题目
代码
var combine = function(n, k) {
const track = []
const res = []
function backTrack(n, k, start, track) {
if (track.length === k) {
res.push(track)
}
for (let i = start; i <= n; i++) {
// 选择
track.push(i)
// 回溯
backTrack(n, k, i+1, [...track])
// 撤销选择
track.pop()
}
}
backTrack(n, k, 1, track)
return res
};
参考资料
- 回溯算法团灭排列/组合/子集问题