力扣:77. 组合

回溯解法思路:

1.先定义一个接收全部组合的集合,在定义一个单个组合的集合,再写一个回溯方法来进行回溯,

回溯终止条件,把单个集合中的组合加入到大集合去,同时选择下一个值进行递归组合,递归到达到组合的个数时,回溯,删除处理的点进行下一个点的组合。

java 复制代码
class Solution {
    //返回全部数字组合的接收集合
    List<List<Integer>> li1=new ArrayList<>();
    //数字组合的集合
    List<Integer> li2=new ArrayList<>();
    public List<List<Integer>> combine(int n, int k) {
      //回溯函数
       huisu(n,k,1);
       return li1;
    }
    //定义的回溯函数
    public void huisu(int n,int k,int startIndex){
        //组合的终止条件
        if(li2.size()==k){
            li1.add(new ArrayList<>(li2));
            return ;
        }
  //进行组合的for循环
        for(int i=startIndex;i<=n;i++){
          li2.add(i);
          //递归k-1次来生成组合元素。
          huisu(n,k,i+1);
          li2.removeLast();
        }
    }
}
相关推荐
XS03010621 小时前
Spring AI:两种内置 Advisor 快速实现 RAG
java·人工智能·spring
mifengxing21 小时前
LeetCode 238 除自身以外数组的乘积|无除法O(n)时间+O(1)空间双解法
java·算法·leetcode
依然鸣21 小时前
PTA团体程序设计天梯赛L2真题讲解L2-045-048
数据结构·c++·经验分享·学习·算法·pat考试·pat
丢掉幻想准备斗争21 小时前
5.5树与二叉树的应用
算法
ZhouDevin1 天前
算法论文/模型微调2——仅骨干1%~3% 参数达到与全量微调相当的性能
算法
小林敲代码77881 天前
Spring Boot 3 升级踩坑:aj-captcha 行为验证码底图加载失效
java·spring boot·后端
Sinosecu-OCR1 天前
文通OCR技术深度解析:自研算法如何搞定复杂场景识别?
算法·ocr·ocr识别系统
带刺的坐椅1 天前
Solon I18n:三种解析器,零样板代码
java·国际化·i18n·solon·多语言
掉鱼的猫1 天前
Solon I18n:三种解析器,零样板代码
java
CQU_JIAKE1 天前
8.5【A】
数据结构·算法