代码随想录算法训练营第二十四天| ● 理论基础 ● 77. 组合

题目链接:   77. 组合

看完代码随想录之后的想法

使用回溯的模板来解决问题,不过我们需要小心一下for循环里面元素集合的范围,我们注意for循环里面元素开始时不确定的,因此我们需要使用一个startIndex来确定元素开始的值;同时我们需要做一下剪枝,例如我们需要找到5个数,但是我们path里面有了1个元素,然而如果我们下一个元素选择最后一个元素,肯定不可以凑够5个,因此我们需要剪枝,path里面已经有path.size()个,我们还需要k - path.size() 个数,那么我们我们的元素至多到 n - (k - path.size()) + 1;

今日收获

今天学习到了回溯三部曲

 一 :返回值,和参数;

二 :终止条件;

三 :单次循环逻辑{

for循环;{

处理节点;

递归;

回溯;
}

}

单词循环逻辑中的for循环是每一层元素的集合;

每一次递归,都是树往深层走,for循环是树的宽度;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值