组合(combination)也是利用dfs
求解的经典问题,今天就让我们一起来归纳一下。
77. 组合
给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。
示例:
1
2
3
4
5
6
7
8
9
10
11 > 输入: n = 4, k = 2
> 输出:
> [
> [2,4],
> [3,4],
> [2,3],
> [1,2],
> [1,3],
> [1,4],
> ]
>
分析回溯问题,最好是能结合图来帮助我们更好的理清思路以及快速的找到边界条件。
我们设根节点是空集,每次挑选一个元素后,下一层的挑选就要前进一步,如果cur
中的元素数目达到了所给的k
则找到了符合条件的一个集合。
1 | class Solution { |