diff --git a/problems/0039.组合总和.md b/problems/0039.组合总和.md index e3e4a117..ba8128b5 100644 --- a/problems/0039.组合总和.md +++ b/problems/0039.组合总和.md @@ -286,6 +286,39 @@ class Solution: ``` Go: + +> 主要在于递归中传递下一个数字 + +```go +func combinationSum(candidates []int, target int) [][]int { + var trcak []int + var res [][]int + backtracking(0,0,target,candidates,trcak,&res) + return res +} +func backtracking(startIndex,sum,target int,candidates,trcak []int,res *[][]int){ + //终止条件 + if sum==target{ + tmp:=make([]int,len(trcak)) + copy(tmp,trcak)//拷贝 + *res=append(*res,tmp)//放入结果集 + return + } + if sum>target{return} + //回溯 + for i:=startIndex;i