1var findTargetSumWays = function (nums, S) {2let sums = new Map([[0, 1]]);34for (let num of nums) {5const next = new Map();67for (let [sum, amount] of sums) {8const plus = sum + num;9const minus = sum - num;1011next.set(plus, next.has(plus) ? next.get(plus) + amount : amount);12next.set(minus, next.has(minus) ? next.get(minus) + amount : amount);13}1415sums = next;16}1718return sums.has(S) ? sums.get(S) : 0;19};