Problem#
給你一組數字 candidates
和一個數字 target
,問你能用candidates
中的元素組成不重複的組合,且相加要等於 T
。相同的數字可以出現無限次
- 1 <= candidates.size() <= 30
- 1 <= candidates[i] <= 200
- 1 <= T <= 500
想法#
用 backtracking 去試數字的組合,終止點在總和等於 target
時
- 時間複雜度: $\mathcal{O}(N^{\frac{T}{M}})$
N = candidates.size()
,T = target
,M = minimum value of candidates
- 空間複雜度: $\mathcal{O}(\frac{T}{M})$
AC Code#
賞析#
TODO: DP