LeetCode 77. 组合(回溯)
发布日期:2021-07-01 03:15:46
浏览次数:2
分类:技术文章
本文共 877 字,大约阅读时间需要 2 分钟。
1. 题目
给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。
示例:输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],]
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combinations
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
简单的回溯算法
class Solution { public: vector> combine(int n, int k) { vector > ans; vector subset; bt(1, n, 0, k, subset, ans); return ans; } void bt(int i, int n, int count, int k, vector &subset, vector >& ans) { if(count == k) { ans.push_back(subset); return; } if(n-i+1 < k-count) return;//剩余的个数不够了 for(int j = i; j <= n; ++j) { subset.push_back(j); bt(j+1,n,count+1,k,subset, ans); subset.pop_back(); } }};
12 ms 9.2 MB
我的CSDN
长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
转载地址:https://michael.blog.csdn.net/article/details/101383914 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月20日 19时06分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
XSS漏洞解析(一)
2019-05-03
guava EventBus 消息总线的运用
2019-05-03
java并发编程(十一)-常用的并发工具类
2019-05-03
&#形式中文互转
2019-05-03
shell脚本中 EOF的意思
2019-05-03
mysql免密登录修改密码
2019-05-03
java并发编程(十二)- CAS(Compare And Swap)
2019-05-03
Git 常用命令笔记
2019-05-03
Springboot使用详解
2019-05-03
SHA-256 算法-java实现
2019-05-03
HTTPS配置说明文档(tomcat)
2019-05-03
关于java的模板方法设计模式
2019-05-03
java并发编程(十四)- 显示锁
2019-05-03
java并发编程(十三)- 显示锁使用Lock和Condition实现等待通知模式
2019-05-03
java并发编程(十五)-LockSupport工具类
2019-05-03
Spring源码分析(七) - bean的生命周期
2019-05-03
leetcode算法 111. 二叉树的最小深度
2019-05-03
leetcode算法 8. 字符串转换整数 (atoi)
2019-05-03
剑指offer29:顺时针打印矩阵
2019-05-03