Skip to content

Commit

Permalink
golang combination sum
Browse files Browse the repository at this point in the history
  • Loading branch information
GokhanCagritekin committed Jul 15, 2022
1 parent 1f4a6c2 commit 2fa32b4
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions golang/backtracking/combinationSum.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package main

func combinationSum(candidates []int, target int) [][]int {
ans := make([][]int, 0)
curr := make([]int, 0)
var backtrack func(idx int, currSum int, curr []int)
backtrack = func(idx int, currSum int, curr []int) {
if currSum == target {
ans = append(ans, append([]int{}, curr...))
return
}
if currSum > target {
return
}
for i := idx; i < len(candidates); i++ {
curr = append(curr, candidates[i])
backtrack(i, currSum+candidates[i], curr)
curr = curr[:len(curr)-1]
}

}
backtrack(0, 0, curr)
return ans
}

0 comments on commit 2fa32b4

Please sign in to comment.