- 分類:DFS
- 時(shí)間復(fù)雜度: O(nk)*
77. Combinations
Given two integers n and k, return all possible combinations of k numbers out of 1 ... n.
Example:
Input: n = 4, k = 2
Output:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]
代碼:
class Solution:
def combine(self, n: 'int', k: 'int') -> 'List[List[int]]':
res=[]
my_list=[]
self.dfs(n,k,1,my_list,res)
return res
def dfs(self,n,k,start,my_list,res):
if k==0:
res.append(my_list.copy())
for i in range(start,n+1):
my_list.append(i)
self.dfs(n,k-1,i+1,my_list,res)
my_list.pop()
討論:
1.這個(gè)時(shí)間復(fù)雜度讓我有點(diǎn)暈