LeetCode77:Combination.我在使用Golang编写递归算法时遇到了堆栈溢出问题,即使只是在如此小的规模上测试(3,2)。
这是我的代码:
package main
import (
"fmt"
)
func combine1(n int, k int) [][]int {
res := [][]int{}
if k == 1 {
for i := 1; i <= n; i++ {
res = append(res, []int{i})
}
return res
}
//The k number contains the combination of digits n
for _, combination := range combine1(n-1, k-1) {
combination = append(combination, n)
res = append(res, combination)
}
//The k number does not contain the combination of the number n
for _, combination := range combine1(n-1, k) {
res = append(res, combination)
}
return res
}
func main() {
fmt.Println("运行")
fmt.Println(combine1(3,2))
}
字符串
我已经检查了我的代码和逻辑很多次,一切似乎都正常?
1条答案
按热度按时间flvlnr441#
对不起,经过调试,我发现我的算法错过了第二个递归部分的极限。
字符串