但選出的組合又要求不能重複
因此用DP 的方式做:
- 先將candidates 排序
- 用遞迴
- 依序從candidates抓出不同的值加入目前組合,並判斷是否總和為target
- 例如candidates 內剩下[1,1,1,3,3,5,5,5],只抓1、3、5
- 若小於target: 繼續遞迴,加入不同值,直到candidates 為空
- 若等於target,找到一個解
- 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
沒有留言:
張貼留言