关注
个人理解: 为什么要去list中找target?其实target代表能与sum3相加得到sum/2的值,即判断list是否存在和或值为target的元素。假设存在满足条件的元素,则得:sum=sum3+sum5+c(c为list的元素和)和sum/2=sum3+a 由此可得sum/2=sum5+(c-a),即若能凑出a使得sum/2=sum3+a,则list剩余元素和+sum5必等于sum/2,所以target可以为sum/2-sum3或者sum/2-sum5。递归的理解: 核心在target-list.get(start)。在helper(list,target-list.get(start),start+1)中由于start+1,所以它会因为依次减去list中的元素,直到start == list.size()(即减完最后一个元素),而helper(list,target,start+1)则表示跳过第start个元素进入递归,即target不减第start个元素,所以每次递归都会出现减或者不减第start个元素的情况,因此递归终止时,完成了sum/2-sum3(即target)对list中元素所有可拼凑组合的减法。当start == list.size()递归终止时,如果 target==0,说明存在某种list元素的拼凑组合,使sum/2-sum3减去该组合的和刚好为0,能在list元素中凑出target。
点赞
相关推荐

点赞 评论 收藏
分享
05-12 17:12
河南科技大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 考研对你找工作产生了哪些影响? #
15008次浏览 136人参与
# 你的房租占工资的比例是多少? #
29073次浏览 304人参与
# 聊聊这家公司值得去吗 #
255229次浏览 2343人参与
# 找实习你看重大厂光环还是业务方向 #
8753次浏览 78人参与
# 职场捅娄子大赛 #
366961次浏览 3753人参与
# 你最满意的offer薪资是哪家公司? #
26953次浏览 143人参与
# 每人推荐一个小而美的高薪公司 #
74494次浏览 1364人参与
# kpi面有什么特征 #
40482次浏览 327人参与
# 打杂的实习你会去吗? #
111587次浏览 970人参与
# 机械应届生薪资要多少才合适? #
22816次浏览 92人参与
# 你有哪些缓解焦虑的方法? #
8576次浏览 269人参与
# 大家实习每天都在干啥 #
81208次浏览 500人参与
# 来聊聊机械薪资天花板是哪家 #
123850次浏览 739人参与
# 米哈游工作体验 #
15704次浏览 112人参与
# 秋招前后对offer的期望对比 #
290992次浏览 2177人参与
# 为了找工作你投递了多少公司? #
17737次浏览 249人参与
# 机械人的薪资开到多少,才适合去? #
109701次浏览 449人参与
# 机械只有读研才有出路吗? #
20283次浏览 230人参与
# 小米求职进展汇总 #
827538次浏览 5928人参与
# 硬件/芯片公司工作体验 #
76232次浏览 670人参与