当前位置: 首页 > news >正文

回溯算法:组合I

 

class Solution {
    
    List<List<Integer>> result = new ArrayList(); // 所有结果集
    List<Integer> list = new ArrayList(); // 当前结果集

    public List<List<Integer>> combine(int n, int k) {
        dfs(n, k, 1);
        return result;
    }

    public void dfs(int n, int k, int index) {
        if (list.size() == k) { // 当前结果集等于要收集的数量即可存入最终结果集
            List<Integer> tem = new ArrayList(list);
            result.add(tem);
            return;
        }
        for (int i = index; i <= n; i++) {
            list.add(i); // 元素加入当前结果集
            dfs(n, k, i + 1); // 递归
            list.remove(list.size() - 1); // 该元素组合完成可以移除(回溯)
        }
    }
}

相关文章:

  • 蓝桥杯 跑步计划
  • 深入剖析C# List<T>的底层实现与性能奥秘
  • QtConcurrent::run并发
  • 如何选择免费中文 Postman 替代工具?
  • 高度电路中时序设计之二
  • CentOS 7部署主域名服务器 DNS
  • 动态规划之完全背包
  • 《TypeScript 面试八股:高频考点与核心知识点详解》
  • 若依框架二次开发——若依集成 JSEncrypt 实现密码加密传输方式
  • 【重装系统】全流程记录,在 MacOS 的电脑上烧录 Ubuntu 启动盘
  • 2025年渗透测试面试题总结-某shopee -红队-Singapore(题目+回答)
  • 练习题:103
  • 【LeetCode 热题100】 4. 寻找两个正序数组的中位数的算法思路及python代码
  • 数据库的视图有什么用?
  • SSRF服务器请求伪造攻击
  • AI+Xmind自动生成测试用例(思维导图格式)
  • 小程序内表格合并功能实现—行合并
  • C 语言中, scanf 函数在哪些情况下会结束输入读取:
  • C# .net ai Agent AI视觉应用 写代码 改作业 识别屏幕 标注等
  • 批量处理word里面表格的空白行
  • 动态网站开发与设计关键技术/东莞百度seo电话
  • 如何用易语言做网站辅助/网络课程
  • 定西市城乡建设局网站/网络推广的方法有多选题
  • 旅游 便宜 网站建设/网络营销讲师
  • 微网站开发建设/苏州百度快照优化排名
  • 海淀深圳网站建设公司/一级消防工程师考试