diff --git a/problems/0077.组合.md b/problems/0077.组合.md index 003373d9..0b289a40 100644 --- a/problems/0077.组合.md +++ b/problems/0077.组合.md @@ -436,8 +436,6 @@ func backtrack(n,k,start int,track []int){ ``` - - ----------------------- * 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw) * B站视频:[代码随想录](https://space.bilibili.com/525438321) diff --git a/problems/0077.组合优化.md b/problems/0077.组合优化.md index 0fb11e53..31acf4a5 100644 --- a/problems/0077.组合优化.md +++ b/problems/0077.组合优化.md @@ -193,6 +193,32 @@ class Solution: return res ``` Go: +```Go +var res [][]int +func combine(n int, k int) [][]int { + res=[][]int{} + if n <= 0 || k <= 0 || k > n { + return res + } + backtrack(n, k, 1, []int{}) + return res +} +func backtrack(n,k,start int,track []int){ + if len(track)==k{ + temp:=make([]int,k) + copy(temp,track) + res=append(res,temp) + } + if len(track)+n-start+1 < k { + return + } + for i:=start;i<=n;i++{ + track=append(track,i) + backtrack(n,k,i+1,track) + track=track[:len(track)-1] + } +} +```