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.
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]]
Constraints:
1 <= n <= 20
1 <= k <= n
题目大意:
求大小为k的所有可能组合
解题思路:
用组合模板,先排序
解题步骤:
N/A
注意事项:
- 引入k作为模板API中的target,k为0作为终止条件。
Python代码:
1 | def combine(self, n: int, k: int) -> List[List[int]]: |
算法分析:
时间复杂度为O(2k)
,空间复杂度O(n)