Leetcode 77

Question

Solution

使用DFS,修改46题的代码。更改dfs嵌套的退出语句。

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution:
def combine(self, n: int, k: int) -> List[List[int]]:
results = []
nums = list(range(1, n + 1))
self.dfs(k, nums, [], results)
return results

def dfs(self, k, nums, temp, results):
if len(temp) == k:
results.append(temp)
return
for i in range(len(nums)):
self.dfs(k, nums[i+1:], temp+[nums[i]], results)