题目:
解析:
代码:
javaprivate List<List<Integer>> ret; private List<Integer> path; private int n,k; public List<List<Integer>> combine(int _n, int _k) { n = _n; k = _k; path = new ArrayList<>(); ret = new ArrayList<>(); dfs(1); return ret; } private void dfs(int start){ if(path.size() == k){ ret.add(new ArrayList(path)); return; } for(int i = start; i <= n; i++){ path.add(i); dfs(i+1);//剪枝:选过接着往后选 path.remove(path.size()-1);//恢复现场 } }
穷举vs暴搜vs深搜vs回溯vs剪枝系列一>组合
robin_suli2024-12-29 18:49
相关推荐
xiaoxue..20 小时前
哨兵节点与快慢指针解决链表算法难题拉姆哥的小屋20 小时前
从400维向量到160000维矩阵:基于深度学习的火焰参数预测系统全解析矢鱼20 小时前
python中对应c++容器的结构古城小栈20 小时前
Java 内存优化:JDK 22 ZGC 垃圾收集器调优SamtecChina202321 小时前
Electronica现场演示 | Samtec前面板解决方案埃伊蟹黄面21 小时前
字符串算法精要与例题汇编Roye_ack21 小时前
【leetcode hot 100】刷题记录与总结笔记(4/100)黑牛先生21 小时前
【GDB】调试Jsoncpp源码大大大大物~21 小时前
JVM 之 垃圾回收算法及其内部实现原理【垃圾回收的核心问题有哪些?分别怎么解决的?可达性分析解决了什么问题?回收算法有哪些?内部怎么实现的?】不夜牛仔21 小时前
算法笔记19 - 图和通用结构 | 图的两种遍历 | 三种拓扑排序 | 两种最小生成树算法Kruskal, Prim | 最短路径算法Dijkstra
