leetcode 39題 組合總數(c )

2021-09-22 18:22:32 字數 1121 閱讀 7515

給定乙個無重複元素的陣列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]

]

這個題是用dfs解的。先對數進行排序,然後每一次選擇的數為一層,如第一次我選了2或3或6或7,則這一層的乙個節點就為2或3或6或7。

注意的點:

1.要注意剪枝,剪枝條件為 target - candidates[i] < 0。

2.對每個數的下一層選擇,都不選擇比它小的數,要不就會有重複的答案。

class solution 

void getsum(vectorcandidates, int target, vector> &result, vector&tmp,int start)

for (int i = start; i < candidates.size(); i++)

getsum(candidates, target - candidates[i], result, tmp, i);

tmp.pop_back();

} return;

}};

leetcode39 組合總數

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

LeetCode 39 組合總數

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

leetcode 39組合總數 python

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