leetcode:40组合总和 II java

题目:

解答:

本题目使用回溯算法进行解决,使用回溯算法解决问题时,其问题可以抽象为树形结构

本题目也可以抽象为一个树形结构,注意数组内元素在组合中只能使用一次

 

在使用回溯算法是先搞清楚:(1)递归函数的参数返回值

                                               (2)确定递归的终止条件

                                               (3)确定单层搜索的逻辑

解题步骤:

1.首先定义集合path存储单一结果,result存储最终结果

2.回溯:确定参数:int sum:和,int startIndex 从哪里开始循环

            终止条件:当sum>=target时,递归终止

            单层搜索逻辑:循环,但是要注意他的结果是无重复的,所以需要判断,

该语句是判断同一层是否使用过的元素,使用过则跳过

 

 

 

代码编译器:

 

 参考:代码随想录

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值