Example 1:
Input:nums is [1, 1, 1, 1, 1], S is 3.Output:5Explanation:-1+1+1+1+1 = 3+1-1+1+1+1 = 3+1+1-1+1+1 = 3+1+1+1-1+1 = 3+1+1+1+1-1 = 3There are 5 ways to assign symbols to make the sum of nums be target 3.
simple solution:
(DFS)
there are two trees in the problem, one is the tree start with positive, another oen is the tree start with negative tree.
for example?
[1,1,1]
------------------
T1(left for sub , right for add)
? ? ? ? ?1
? ? ?0 ? ? ? ? 2 ? ? ? ? ?
-1 ? ? ?1 ? 1 ? ? ? 3
T2
? ? ? ? ? ? ?-1
? ? ? ?-2 ? ? ? ? ?0
-3 ? ? ? ? -1 ? -1 ? ? ? 1
then we add the total of the result of these two trees
WHILE, python will have time limit exceed problem .. you know , python....
this is the DP solution, which is extremely fast?
https://discuss.leetcode.com/topic/76205/python-dp/7