题目:
解析:
代码:
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
相关推荐
power 雀儿12 分钟前
掩码(Mask)机制 结合 多头自注意力函数会叫的恐龙16 分钟前
C++ 核心知识点汇总(第六日)(字符串)小糯米60126 分钟前
C++顺序表和vectorWe་ct1 小时前
LeetCode 56. 合并区间:区间重叠问题的核心解法与代码解析Lionel6891 小时前
分步实现 Flutter 鸿蒙轮播图核心功能(搜索框 + 指示灯)小妖6661 小时前
js 实现快速排序算法xsyaaaan1 小时前
代码随想录Day30动态规划:背包问题二维_背包问题一维_416分割等和子集zheyutao2 小时前
字符串哈希A尘埃2 小时前
保险公司车险理赔欺诈检测(随机森林)大江东去浪淘尽千古风流人物3 小时前
【VLN】VLN(Vision-and-Language Navigation视觉语言导航)算法本质,范式难点及解决方向(1)
