mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 13:00:22 +08:00
Update 0077.组合优化.md
This commit is contained in:
@ -179,18 +179,21 @@ Python:
|
||||
```python
|
||||
class Solution:
|
||||
def combine(self, n: int, k: int) -> List[List[int]]:
|
||||
res=[] #存放符合条件结果的集合
|
||||
path=[] #用来存放符合条件结果
|
||||
def backtrack(n,k,startIndex):
|
||||
result = [] # 存放结果集
|
||||
self.backtracking(n, k, 1, [], result)
|
||||
return result
|
||||
def backtracking(self, n, k, startIndex, path, result):
|
||||
if len(path) == k:
|
||||
res.append(path[:])
|
||||
result.append(path[:])
|
||||
return
|
||||
for i in range(startIndex,n-(k-len(path))+2): #优化的地方
|
||||
path.append(i) #处理节点
|
||||
backtrack(n,k,i+1) #递归
|
||||
path.pop() #回溯,撤销处理的节点
|
||||
backtrack(n,k,1)
|
||||
return res
|
||||
for i in range(startIndex, n - (k - len(path)) + 2): # 优化的地方
|
||||
path.append(i) # 处理节点
|
||||
self.backtracking(n, k, i + 1, path, result)
|
||||
path.pop() # 回溯,撤销处理的节点
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
Go:
|
||||
```Go
|
||||
|
Reference in New Issue
Block a user