39. 組合總和(C++)
給你一個(gè)?無重復(fù)元素?的整數(shù)數(shù)組?candidates
?和一個(gè)目標(biāo)整數(shù)?target
?,找出?candidates
?中可以使數(shù)字和為目標(biāo)數(shù)?target
?的 所有?不同組合?,并以列表形式返回。你可以按?任意順序?返回這些組合。
candidates
?中的?同一個(gè)?數(shù)字可以?無限制重復(fù)被選取?。如果至少一個(gè)數(shù)字的被選數(shù)量不同,則兩種組合是不同的。?
對(duì)于給定的輸入,保證和為?target
?的不同組合數(shù)少于?150
?個(gè)。
?
示例?1:
輸入:candidates = [2,3,6,7],
target = 7
輸出:[[2,2,3],[7]]解釋:2 和 3 可以形成一組候選,2 + 2 + 3 = 7 。注意 2 可以使用多次。
7 也是一個(gè)候選, 7 = 7 。
僅有這兩種組合。
示例?2:
輸入: candidates = [2,3,5],
target = 8輸出: [[2,2,2,2],[2,3,3],[3,5]]
示例 3:
輸入: candidates = [2],
target = 1輸出: []
?
提示:
1 <= candidates.length <= 30
2 <= candidates[i] <= 40
candidates
?的所有元素?互不相同1 <= target <= 40
刷題代碼
本地調(diào)試代碼
容易忽略的地方
標(biāo)簽: