39 組合總和

2022-05-13 07:59:28 字數 1300 閱讀 7186

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

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

說明:所有數字(包括 target)都是正整數。

解集不能包含重複的組合。 

示例 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]

]1 <= candidates.length <= 30

1 <= candidates[i] <= 200

candidate 中的每個元素都是獨一無二的。

1 <= target <= 500

class

solution:

def combinationsum(self, candidates: list[int], target: int) ->list[list[int]]:

size=len(candidates)

if size<=0:

return

candidates.sort()

path=

res=

self._find_path(target,path,res,candidates,0,size)

return

res

def_find_path(self,target,path,res,candidates,begin,size):

if target==0:

else

:

for i in

range(begin,size):

left=target-candidates[i]

if left<0:

break

self._find_path(left,path,res,candidates,i,size)

path.pop()

class

solution

private

void backtrack(list> list, listtemplist, int nums, int remain, int

start)}}

}

39 組合總和

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

39 組合總和

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

39 組合總和

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