穷举vs暴搜vs深搜vs回溯vs剪枝系列一>组合

[复制链接]
发表于 2025-11-18 10:23:34 | 显示全部楼层 |阅读模式
标题: 
 

分析: 
 

代码: 
  1. private List<List<Integer>> ret;
  2.     private List<Integer> path;
  3.     private int n,k;
  4.     public List<List<Integer>> combine(int _n, int _k) {
  5.         n = _n;
  6.         k = _k;
  7.         path = new ArrayList<>();
  8.         ret = new ArrayList<>();
  9.         dfs(1);
  10.         return ret;
  11.     }
  12.     private void dfs(int start){
  13.         if(path.size() == k){
  14.             ret.add(new ArrayList(path));
  15.             return;
  16.         }
  17.         for(int i = start; i <= n; i++){
  18.             path.add(i);
  19.             dfs(i+1);//剪枝:选过接着往后选
  20.             path.remove(path.size()-1);//恢复现场
  21.         }
  22.     }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表