leetcode40 組合總和II dfs

2021-10-02 08:43:23 字數 964 閱讀 4353

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

candidates 中的每個數字在每個組合中只能使用一次。

說明:

所有數字(包括目標數)都是正整數。

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

示例 1:

輸入: candidates =[10

,1,2

,7,6

,1,5

], target =8,

所求解集為:[[

1,7]

,[1,

2,5]

,[2,

6],[

1,1,

6]]

示例 2:

輸入: candidates =[2

,5,2

,1,2

], target =5,

所求解集為:[[

1,2,

2],[

5]]

這道題要注意:不能有重複的元素,所以先把陣列排序,然後遇到和前乙個位置相等的元素直接跳過,這裡要特別注意不能越過初始位置。

class

solution

void

dfs(vector<

int>

& candidates,

int pos,

int cur_sum,

int target, vector<

int> cur)

if(cur_sum > target)

for(

int i = pos; i < candidates.

size()

;++i)}}

;

leetcode 40 組合總和

給定乙個陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。candidates中的每個數字在每個組合中只能使用一次。說明 示例 1 輸入 candidates 10,1,2,7,6,1,5 target 8,所求解集為 1,7 1,2,...

leetcode40 組合總和 II

給定乙個陣列 candidates 和乙個目標數 target 找出 candidates 中所有可以使數字和為 target 的組合。candidates 中的每個數字在每個組合中只能使用一次。說明 所有數字 包括目標數 都是正整數。解集不能包含重複的組合。示例 1 輸入 candidates 1...

LeetCode 40 組合總和 II

給定乙個陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。candidates中的每個數字在每個組合中只能使用一次。說明 示例 1 輸入 candidates 10,1,2,7,6,1,5 target 8,所求解集為 1,7 1,2,...