思路 依然是回溯法
func findTargetSumWays(nums []int, target int) int { res := 0 if len(nums) == 0 { return 0 } var backTracking func(nums []int, index int, rest int) backTracking = func(nums []int, index int, rest int) { if index == len(nums) { if rest == 0 { res++ return } else { return } } rest += nums[index] backTracking(nums, index+1, rest) rest -= nums[index] rest -= nums[index] backTracking(nums, index+1, rest) rest += nums[index] } backTracking(nums, 0, target) return res }
思路 之后再补一个动态规划的方式