[问题] Java 递回 recursion/backtracking groupSum

楼主: yogaxiao (电脑坏了ˊ_ˋ)   2019-02-22 21:32:33
最近在练习解题, 但对于这题recursion的答案一直不是很理解,
有把解答贴到eclipse用debugger刷了好几遍但还是不懂它跳的顺序...
不知道是否有文字叙述能帮助我理解, 感谢各位
Problem:
Given an array of ints, is it possible to choose a group of some of the ints,
such that the group sums to the given target? This is a classic backtracking
recursion problem. Once you understand the recursive backtracking strategy in
this problem, you can use the same pattern for many problems to search a
space of choices. Rather than looking at the whole array, our convention is
to consider the part of the array starting at index start and continuing to
the end of the array. The caller can specify the whole array simply by
passing start as 0. No loops are needed
作者: ssccg (23)   2019-02-22 21:46:00
这重点在算法不在程式怎么跳吧这算很单纯的题目,求 nums[0 ~ n] 有没有办法加出target以nums[0]来看只有两种可能,target里面有加进nums[0] →求 nums[1 ~ n] 有没有办法加出 target - nums[0]target里面没有加nums[0] →求 nums[1 ~ n] 有没有办法加出 target一开始start = 0,每次递回就start = start + 1
楼主: yogaxiao (电脑坏了ˊ_ˋ)   2019-02-23 02:28:00
因为是自学程式,目前还没有学过算法orz有理解你的意思,但不懂为何code是这样写,觉得有点抽象搭不起来...
作者: haha02 (来人!上夹棍!)   2019-02-23 11:58:00
可以看一下backtracking的介绍 一般会有 pseudo code帮助理解这题的话 逻辑就是每个元素看一次 取或不取该元素都尝试看是否有一个情况可以满足条件(刚好把target扣到0)
作者: kurakidream (随波逐流)   2019-02-26 09:32:00
Backtracking 画recursive tree 出来看比较好懂
楼主: yogaxiao (电脑坏了ˊ_ˋ)   2019-02-27 22:26:00
谢谢,后来有往recursive tree方向去找资料,画出来之后有清楚多了,原本是连怎么画tree都不知道..

Links booklink

Contact Us: admin [ a t ] ucptt.com