class Solution:
def combine(self, n: int, k: int) -> List[List[int]]:
res = []
self.backtrating(n,k,1,[],res)
return res
def backtrating(self,n,k,start,path,result):
if len(path) == k:
result.append(path[:]) # 因为list是可变的,直接path会导致后面改变时,result里面也改变,所以需要把结果复制一下再添加,可以使用path.copy(),也可以使用切割
return
for i in range(start,n-(k-len(path))+2):
path.append(i)
self.backtrating(n,k,i+1,path,result)
path.pop()
77.组合
于 2025-03-22 11:20:13 首次发布