給定乙個陣列candidates
和乙個目標數target
,找出candidates
中所有可以使數字和為target
的組合。
candidates
中的每個數字在每個組合中只能使用一次。
說明:
示例 1:
輸入:candidates =示例 2:[10,1,2,7,6,1,5]
, target =8
,所求解集為:[[1, 7],
[1, 2, 5],
[2, 6],
[1, 1, 6]
]
輸入: candidates = [2,5,2,1,2], target = 5,
所求解集為:
[ [1,2,2],
[5]]
執行用時 : 56 ms, 在combination sum ii的python3提交中擊敗了100.00% 的使用者
記憶體消耗 : 13.1 mb, 在combination sum ii的python3提交中擊敗了64.41% 的使用者
class solution:
def combinationsum2(self, candidates, target):
candidates.sort()
n = len(candidates)
res =
def backtrack(i, tmp_sum, tmp):
if tmp_sum == target:
return
for j in range(i, n):
if tmp_sum + candidates[j] > target:
break
print(j)
if j > i and candidates[j] == candidates[j-1]:
continue
backtrack(j+1,tmp_sum + candidates[j],tmp+[candidates[j]])
backtrack(0, 0, )
return res
s = solution()
res = s.combinationsum2(candidates=[1,1,2,3,4,5],target=4)
print(res)
LeetCode筆記 39組合總和
題目 給定乙個無重複元素的陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。candidates中的數字可以無限制重複被選取。說明 示例 1 輸入 candidates 2,3,6,7 target 7,所求解集為 7 2,2,3 示例...
LeetCode筆記 40組合總和
題目 給定乙個陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。candidates中的每個數字在每個組合中只能使用一次。說明 示例 1 輸入 candidates 10,1,2,7,6,1,5 target 8,所求解集為 1,7 1...
LeetCode 39 組合總和
給定乙個無重複元素的陣列candidates和乙個目標數target,找出candidates中所有可以使數字和為target的組合。candidates中的數字可以無限制重複被選取。說明 示例 1 輸入 candidates 2,3,6,7 target 7,所求解集為 7 2,2,3 示例 2 ...