Leetcode 494. 目标和

思路 依然是回溯法
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
}
思路 之后再补一个动态规划的方式

浙公网安备 33010602011771号