给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案。

示例 1:

输入:n = 4, k = 2
输出:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]

示例 2:

输入:n = 1, k = 1
输出:[[1]]

提示:

  • 1 <= n <= 20
  • 1 <= k <= n

Python解答:

class Solution:
    def combine(self, n: int, k: int) -> List[List[int]]:
        res = []
        def back_trace(temp, j, num):
            if num == k:
                res.append(deepcopy(temp))
                return 
            for i in range(j, n+1):
                temp.append(i)
                back_trace(temp, i+1, num+1)
                temp.pop()
        back_trace([], 1, 0)
        return res
最后修改日期: 2021年7月22日

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。