MCPcopy Create free account
hub / github.com/neetcode-gh/leetcode / combinationSum

Function combinationSum

go/0039-combination-sum.go:3–24  ·  view source on GitHub ↗
(candidates []int, target int)

Source from the content-addressed store, hash-verified

1package main
2
3func combinationSum(candidates []int, target int) [][]int {
4 ans := make([][]int, 0)
5 curr := make([]int, 0)
6 var backtrack func(idx int, currSum int, curr []int)
7 backtrack = func(idx int, currSum int, curr []int) {
8 if currSum == target {
9 ans = append(ans, append([]int{}, curr...))
10 return
11 }
12 if currSum > target {
13 return
14 }
15 for i := idx; i < len(candidates); i++ {
16 curr = append(curr, candidates[i])
17 backtrack(i, currSum+candidates[i], curr)
18 curr = curr[:len(curr)-1]
19 }
20
21 }
22 backtrack(0, 0, curr)
23 return ans
24}

Callers

nothing calls this directly

Calls 1

backtrackFunction · 0.70

Tested by

no test coverage detected