这两题 都是给定 Nums =[1 2 3] target = 4, 用nums 求和构建 target , 求出可能结果

不同点: 

39 题:  认为 [1,1,2] 和 [2,1,1] 是重复结果

377 认为  [1,1,2] 和  [2,1,1] 是不同的结果。

 

因此画出两个题目的dfs tree: 

39 题的 tree 里可以看出, 当放了[1,1 ]后 sum =2,  当放了 [2] 后, sum =2, 虽然两个sum 相等,但下面的sub tree 是不同的,得到的结果也不同,因此不能用记忆化搜索

377 题     [1,1] 和 [2] 下面的sub tree 结构完全一样, 因此 计算出 [1,1] 结果后, [2] 的结果就可以重复使用  [1,1] 的结果了,这就是记忆化搜索, 记忆化搜索本质需要  sub tree 一样。 

 

posted on 2018-11-22 04:40  KeepAC  阅读(218)  评论(0编辑  收藏  举报