2019年3月26日 星期二

[leetcode][python]40. Combination Sum II

這題的目標是要從提供的組合內(內容可能重複) 選出加總為target 的組合

但選出的組合又要求不能重複

因此用DP 的方式做:


  1. 先將candidates 排序
  2. 用遞迴
    1. 依序從candidates抓出不同的值加入目前組合,並判斷是否總和為target
      1. 例如candidates 內剩下[1,1,1,3,3,5,5,5],只抓1、3、5
    2. 若小於target: 繼續遞迴,加入不同值,直到candidates 為空
    3. 若等於target,找到一個解
    4. else: pass




leetcode: https://leetcode.com/problems/combination-sum-ii/
source code: https://github.com/cy-arduino/leetcode/blob/master/40.%20Combination%20Sum%20II.py

沒有留言:

張貼留言