# 216. Combination Sum III
#### Difficulty: Medium
link: https://leetcode.com/problems/combination-sum-iii/
### 1. Backtracking
#### $O(C^{9}_{k})$ runtime, $O(C^{9}_{k})$ space
用Backtracking檢查所有可能的組合,看看哪些符合條件,紀錄在result裡。
path紀錄了選過的數字,start_num代表要從哪個數字開始往後看,選擇下一個要加入的數字,value則代表n-sum(path)。
##### python
```python=
class Solution:
def combinationSum3(self, k: int, n: int) -> List[List[int]]:
result = []
def backtracking(path, start_num, value):
if value == 0 and len(path) == k:
result.append(path)
return
for i in range(start_num, 10):
if i > value or len(path) >= k:
break
else:
backtracking(path + [i], i + 1, value - i)
backtracking([], 1, n)
return result
```
###### tags: `leetcode`