题目:
解析:
代码:
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
相关推荐
AI科技星7 分钟前
宇宙的几何诗篇:当空间本身成为运动的主角前端小L19 分钟前
二分查找专题(二):lower_bound 的首秀——精解「搜索插入位置」老黄编程1 小时前
三维空间圆柱方程xier_ran2 小时前
关键词解释:DAG 系统(Directed Acyclic Graph,有向无环图)CAU界编程小白2 小时前
数据结构系列之十大排序算法好学且牛逼的马2 小时前
【Hot100 | 6 LeetCode 15. 三数之和】橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——二分查找lkbhua莱克瓦242 小时前
Java基础——常用算法4m0_748248023 小时前
揭开 C++ vector 底层面纱:从三指针模型到手写完整实现七夜zippoe3 小时前
Ascend C流与任务管理实战:构建高效的异步计算管道
