添加 0216.组合总和III go版本

添加 0216.组合总和III go版本
This commit is contained in:
X-shuffle
2021-06-19 20:25:29 +08:00
committed by GitHub
parent d2e05f9b04
commit 2e8ba2bbb8

View File

@ -284,6 +284,37 @@ class Solution:
Go
> 回溯+减枝
```go
func combinationSum3(k int, n int) [][]int {
var track []int// 遍历路径
var result [][]int// 存放结果集
backTree(n,k,1,&track,&result)
return result
}
func backTree(n,k,startIndex int,track *[]int,result *[][]int){
if len(*track)==k{
var sum int
tmp:=make([]int,k)
for k,v:=range *track{
sum+=v
tmp[k]=v
}
if sum==n{
*result=append(*result,tmp)
}
return
}
for i:=startIndex;i<=9-(k-len(*track))+1;i++{//减枝k-len(*track)表示还剩多少个可填充的元素)
*track=append(*track,i)//记录路径
backTree(n,k,i+1,track,result)//递归
*track=(*track)[:len(*track)-1]//回溯
}
}
```
javaScript:
```js