algorythms
Dynamic Programming
LC #494Medium

Target Sum

Dynamic Programming
AmazonGoogleMeta

Problem

Assign + or - to each number to reach a target sum. Count the number of ways.

arraydynamic-programmingbacktracking

Constraints

  • 1 ≤ nums.length ≤ 20
  • 0 ≤ nums[i] ≤ 1000
  • 0 ≤ sum(nums[i]) ≤ 1000
  • -1000 ≤ target ≤ 1000

Example

Inputnums = [1, 1, 1, 1, 1], target = 3
Output5
Why

-1+1+1+1+1, 1-1+1+1+1, 1+1-1+1+1, 1+1+1-1+1, 1+1+1+1-1 = 5 ways

Hints — reveal one at a time