给定一个候选数字数组 (C) (不含重复项) 和目标数字 (T),在 C 中找到所有唯一的组合,使得组合中的数之和为 T。
C 中的同一个数字可以无限制重复使用。
注意:
- 所有数字,包括目标数字,都是正数
- 结果数组中不能包含重复的组合
例如:给定一个候选数组: [2, 3, 6, 7] 和 目标数字 7,
结果数组如下:
```
[
[7],
[2, 2, 3]
]
```
Go 函数签名如下:
```go
func combinationSum(candidates []int, target int) [][]int {
}
```