leetcode 39 組合總和 python

2021-08-27 14:06:13 字數 1266 閱讀 9716

【前言】

python刷leetcode題解答目錄索引:

【正文】

給定乙個無重複元素的陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。

candidates中的數字可以無限制重複被選取。

說明:

示例 1:

輸入:candidates =[2,3,6,7],target =7,所求解集為:[

[7],

[2,2,3]

]

示例 2:

輸入:candidates = [2,3,5],target = 8,所求解集為:[

[2,2,2,2],

[2,3,3],

[3,5]

]

class solution:

def combinationsum(self, candidates, target):

""":type candidates: list[int]

:type target: int

:rtype: list[list[int]]

"""candidates.sort()

#儲存結果

solution.anslist =

self.dfs(candidates, target, 0, )

return solution.anslist

def dfs(self, candidates, target, start, valuelist):

if target == 0:

for i in range(start, len(candidates)):

if candidates[i] > target:

return

self.dfs(candidates, target-candidates[i], i, valuelist+[candidates[i]])

LeetCode 39 組合總和

給定乙個無重複元素的陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。candidates中的數字可以無限制重複被選取。說明 示例 1 輸入 candidates 2,3,6,7 target 7,所求解集為 7 2,2,3 示例 2 ...

leetcode39 組合總和

參考 class solution if next num.size target num next 0 邊界條件 return 對於每個元素,有兩種處理方式,選當前元素或者不選當前元素 psol.push back num next 選當前元素 search num,next,psol,targe...

LeetCode39組合總和

給定乙個無重複元素的陣列 candidates 和乙個目標數 target 找出 candidates 中所有可以使數字和為 target 的組合。candidates 中的數字可以無限制重複被選取。說明 所有數字 包括 target 都是正整數。解集不能包含重複的組合。示例 1 輸入 candid...