[JS] Combinations
2022. 7. 31. 12:11
🔒 문제 (LeetCode 77)
Given two integers n and k, return all possible combinations of k numbers out of the range [1, n].
You may return the answer in any order.
Constraints:
- 1 <= n <= 20
- 1 <= k <= n
🌊 입출력
Example 1:
Input: n = 4, k = 2
Output:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]
Example 2:
Input: n = 1, k = 1
Output: [[1]]
🔑 해결
🌌 알고리즘 - DFS
/**
* @param {number} n
* @param {number} k
* @return {number[][]}
*/
var combine = function(n, k) {
let result = [];
function dfs(cur, start) {
if(cur.length === k) {
result.push(cur);
return;
}
for(let i = start; i <= n; i++ ) {
dfs([...cur, i], i + 1);
}
}
dfs([], 1);
return result;
};
'코딩테스트 (JS) > DFS | BFS' 카테고리의 다른 글
[JS] Letter Case Permutation (0) | 2022.07.31 |
---|---|
[JS] Permutations (0) | 2022.07.31 |
[JS] Rotting Oranges (0) | 2022.07.30 |
[JS] 01 Matrix (0) | 2022.07.30 |
[JS] Populating Next Right Pointers in Each Node (0) | 2022.07.29 |