@ninijiaLeetcode每日一题练习 ------ 494. 目标和 中发帖

从Leetcode 每日一题练习继续讨论: 
494. 目标和
494. Target Sum
题解
本题是一道很经典的记忆化问题,考虑计算数字和的过程,每个数字都有加或者减两种选择,那么n个数字就有2^n种可能,但可以注意到在数字加和过程中的两个特点。第一个特点是通过不同的加减和组合方式有可能能得出相同的结果。最简单的例子,如三个1,可以通过+1+1-1的方式得到和1,也可以通过+1-1+1的方式得到和1。第二个特点是从某个下标开始到数组最后能得到的全部可能结果仅与到这个下标为止已经得到的和有关,而与得到这个和的具体路径无关。例如前面已经得到了和为6,那么后面就在得到的和6的基础上进行加减操作,具体6是如何来的并不重要。
那么我们就可以保存到某个下标m前面所有数字的全部可能的和,每个和对应的通过加减后面的数字直到数组末尾最终得到target的可能路径的个数。通过递归得出第一个数字到...