對candidates進行遞減排序,從最大的元素開始依次與target進行比較
有三種情況出現:
1,元素》target:該元素不可選,跳過該元素
2,元素==target:選擇該元素後,所構成的乙個vec元素組合之和滿足等於target
3,元素
需要注意的地方:什麼時候從vec的放入元素和拿出元素。放入乙個元素後,如果之後的遞迴處理無法最終滿足條件,那麼應該回溯,再將該元素拿出來,放入下乙個元素。該題還有另乙個約束:即每個元素只能放入一次,但是candidates中某些元素會有多個。在第n次遞迴時,用到了元素e,則在n+1次遞迴時還可以用使用元素e,但是在第n次遞迴之後再選擇元素時,就不能再選擇元素e了。
力扣 題目40 組合總和 II
在力扣 題目39 組合總和中我們做過類似的題 而40題多加了條件 即 有重複數字而且每個數只能選一次 其實我們可以從39題條件轉換一下,即無限制重複被選取 有限制重複被選取 例如 candidates 2,5,2,1,2 就是 1可以取1次 2可以取3次 5可以取1次 這樣的話就簡單了 我們只要在3...
40 組合總和 II
給定乙個陣列 candidates 和乙個目標數 target 找出 candidates 中所有可以使數字和為 target 的組合。candidates 中的每個數字在每個組合中只能使用一次。說明 所有數字 包括目標數 都是正整數。解集不能包含重複的組合。示例 1 輸入 candidates 1...
40 組合總和 II
給定乙個陣列 candidates 和乙個目標數 target 找出 candidates 中所有可以使數字和為 target 的組合。candidates 中的每個數字在每個組合中只能使用一次。說明 所有數字 包括目標數 都是正整數。解集不能包含重複的組合。示例 1 輸入 candidates 1...