golang 求助大佬
資深大佬 : an93 5
import “fmt”
func main() { input := []int{2,3, 5} target := 8 fmt.Println(combinationSum(input, target)) } func combinationSum(candidates []int, target int) [][]int { var res [][]int var backtrack func(int, int, []int) backtrack = func(idx int, sum int, nums []int) { if sum == target { res = append(res, nums) } if sum >= target { return } for i := idx; i < len(candidates); i++ { backtrack(i, sum + candidates[i], append(nums,candidates[i])) } } backtrack(0, 0, []int{}) return res }
这段代码结果有问题, 而且问题处在 res = append(res, nums) 这一行, 如果我把 nums copy 一个再 append 就不会有问题了,听说这里大神比较多,求大神们指教一下
大佬有話說 (3)