[leetcode] 77. Combinations
题目
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
思路
递归向数组中追加值,数组满时填入list中。
代码
python版本:
class Solution:
def combine(self, n: int, k: int) -> List[List[int]]:
res = []
def recursion(l, nums):
if len(nums) == k:
res.append(copy.deepcopy(nums))
return
for i in range(l, n+1):
nums.append(i)
recursion(i+1, nums)
nums.pop()
recursion(1, [])
return res
本文来自博客园,作者:frankming,转载请注明原文链接:https://www.cnblogs.com/frankming/p/15980587.html