494.target-sum.go 304 B

123456789101112131415
  1. func findTargetSumWays(nums []int, S int) (ans int) {
  2. dfs(nums, len(nums), 0, 0, S, &ans)
  3. return
  4. }
  5. func dfs(nums []int, n int, i int, sum int, S int, ans *int) {
  6. if i == n {
  7. if sum == S {
  8. (*ans)++
  9. }
  10. return
  11. }
  12. dfs(nums, n, i+1, sum+nums[i], S, ans)
  13. dfs(nums, n, i+1, sum-nums[i], S, ans)
  14. }