解題說明
C++ 解法
複雜度分析
虛擬碼
1. Define backtrack(start, k, remaining, current):
a. If len(current) == k and remaining == 0: record current
b. If len(current) == k or remaining <= 0: return
c. For i from start to 9:
- Pruning: if not enough numbers left, break
- Add i to current
- Recurse: backtrack(i+1, k, remaining-i, current)
- Remove i from current
2. Call backtrack(1, k, n, [])
3. Return result