/**
* @param {number} n
* @param {number} k
* @return {number[][]}
*/
var combine = function(n, k) {
const result = [];
const dfs = (array, start, end) => {
if(end === 0) {
result.push([...array]);
}
for(let i = start; i < n + 1; i++){
array.push(i);
dfs(array, i + 1, end - 1);
array.pop();
}
}
dfs([], 1, k);
return result;
};