刷题day46:组合
从此替开始为回溯算法。
代码随想录 (programmercarl.com)
回溯算法模板:
伪代码如下:
void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {处理节点;backtracking(路径,选择列表); // 递归回溯,撤销处理结果}
}
题意描述:
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案。
回溯算法如图:
完整C++代码如下:
class Solution {
private:vector<vector<int>> result;vector<int> path;void backtracking(int n, int k, int startIndex){if(path.size() == k){result.push_back(path);return;}// for (int i = startIndex; i <= n - (k - path.size()) + 1; i++) // 优化的地方接下来看一下优化过程如下:1.已经选择的元素个数:path.size();2.还需要的元素个数为: k - path.size();3.在集合n中至多要从该起始位置 : n - (k - path.size()) + 1,开始遍历为什么有个+1呢,因为包括起始位置,我们要是一个左闭的集合。//for(int i = startIndex; i <= n; i++){path.push_back(i);backtracking(n, k, i + 1);path.pop_back();}}
public:vector<vector<int>> combine(int n, int k) {result.clear();path.clear();backtracking(n, k, 1);return result;}
};
刷题day46:组合相关推荐
- 力扣 刷题77 组合排序,剪枝
77. 组合 难度中等451收藏分享切换为英文接收动态反馈 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合. 示例: 输入: n = 4, k = 2 输出: [[2,4 ...
- LeetCode刷题实战216:组合总和 III
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- 力扣(LeetCode)刷题,简单+中等题(第28期)
目录 第1题:翻转单词顺序 第2题:顺时针打印矩阵 第3题:总持续时间可被 60 整除的歌曲 第4题:字符串的最大公因子 第5题:上升下降字符串 第6题:将数组分成和相等的三个部分 第7题:可被 5 ...
- 力扣(LeetCode)刷题,简单+中等题(第26期)
目录 第1题:字典序排数 第2题:字符串解码 第3题:查找常用字符 第4题:所有奇数长度子数组的和 第5题:长按键入 第6题:分割字符串的最大得分 第7题:回文链表 第8题:有多少小于当前数字的数字 ...
- LeetCode刷题记录1——717. 1-bit and 2-bit Characters(easy)
LeetCode刷题记录1--717. 1-bit and 2-bit Characters(easy) LeetCode刷题记录1--717. 1-bit and 2-bit Characters( ...
- 你面试稳了!通关LeetCode刷题完整攻略,省时又高效
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:穷码农 来源:https://zhuanlan.zhihu.com/p/10 ...
- 【Leetcode】刷题题单记录
程序=算法+数据结构,不管干哪一行,只要涉及到编程算法始终是最重要的!!! 算法基础差,变做题巩固!!! LeetCode刷题,搞起来! 由于我只会C++和Python, 所以题解只有C++ 和 Py ...
- SQL 学习最强刷题网站!
大家好,我是荣哥. 今天给大家上点干货,推荐一款之前一直在用的SQL刷题网站-牛客的SQL题库. 很多人都知道牛客有面经,但是还不知道有SQL,其实牛客的SQL题目已经有大概500题了,题目内容.产品 ...
- leetcode数组汇总_LeetCode刷题实战43:字符串相乘
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
最新文章
- Android 马甲包制作流程
- mysql密码有格式要求吗_高考日语作文10个格式要求!你能看出图中5处错误吗?...
- fastRPC的数据库服务
- otg usb 定位_详解USB OTG工作原理及其应用
- 【算法】学习笔记(0):算法初探(逻辑抽象 + 示例 + 代码实现)
- 存储过程知识总结【一】
- 如何获取sharepoint列表_练习 34 - 获取列表元素 - Learn Python 3 The Hard Way
- 身份证OCR识别SDK
- 使用ExtendSim进行医疗仿真
- Unity脚本组件勾选框的存在的意义
- C中的struct,union,Bit Filed以及内存对齐
- 微信活码系统程序源码
- 汽车VIN码与二手车市场
- 经常被问退休金多少,怎么答
- StringBuffer的equals
- S60v5 编程环境的搭建(2)
- QT实现简单的医院管理系统
- C++中 对》和《的重载
- 申请高新技术企业有什么好处?
- 2019年的经典案例
热门文章
- FaceBook共同好友有啥用
- 创业初期的时候,一定要亲力亲为
- Java多线程:多线程同步安全问题的 “三“ 种处理方式 ||多线程 ”死锁“ 的避免 || 单例模式”懒汉式“的线程同步安全问题
- android 手势监听案例
- 浪漫博主使用 Javascript 做了个表白工具,最后升华了
- 10分钟打造自己专属的uni-app工具箱
- “第二杯半价”,背后的商业逻辑,戳中了不少人的心弦
- JAVA JSP火车订票系统(JSP订票系统 JSP火车票预订系统)JSP火车票网上购票系统
- idea代码自动补全快捷键
- Qt之按钮添加背景图片的几种方法