题目:
给定两个整数
n
和k
,返回范围[1, n]
中所有可能的k
个数的组合。你可以按 任何顺序 返回答案。
来源:力扣(LeetCode)
链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
示例:
示例 1:
输入:n = 4, k = 2
输出:[[2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]
示例 2:输入:n = 1, k = 1
输出:[[1]]
解法:
使用itertools库的combinations函数。
知识点:
1.combinations(iterable, r):创建一个迭代器,返回iterable中所有长度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序。例如:combinations('abc',2),返回ab、ac、bc。
代码:
from itertools import combinationsclass Solution:def combine(self, n: int, k: int) -> List[List[int]]:return list(map(list, combinations([num for num in range(1, n + 1)], k)))