0%

77,组合

题目要求:

给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。

示例:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
n=4
k=2
res=[]
def track(n,k,pre,start,res):
if (len(pre))==k:
res.append(pre[:])
print(pre)
return
for i in range(start,n+1):
pre.append(i)
print('+ %d'%i)
track(n,k,pre,i+1,res)
print('- %d' %pre.pop())
return res
track(n,k,[],1,res)

print(res)