216. Combination Sum III
題目網址:https://leetcode.cn/problems/combination-sum-iii/
題意:找出所有相加之和為
n
的k
個數的組合,且滿足下列條件:
- 只使用數字
1
到9
- 每个數字最多使用一次
以任意順序返回所有可能的組合, 組合不能重複。
Solution:
想法:利用 DFS + Backtracking
class Solution { |
- time:$O(k \cdot \binom{M}{k})$ ➔ 其中
M
為集合的大小,本題中M
固定為9
- 共 $\binom{M}{k}$ 種組合, 每建一種需判斷
k
次
- 共 $\binom{M}{k}$ 種組合, 每建一種需判斷
- space:$O(k)$ ➔ $O(k) + O(k)$
- $O(k)$:
cur
最大長度為k
- $O(k)$:遞迴最大深度為
k
- $O(k)$:
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論