力扣:77. 组合

 回溯解法思路:

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

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

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();
        }
    }
}

相关推荐

  1. 77. 组合

    2024-02-04 20:54:02       30 阅读
  2. 77-组合

    2024-02-04 20:54:02       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-04 20:54:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-04 20:54:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-04 20:54:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-04 20:54:02       18 阅读

热门阅读

  1. sql数据库修复资料

    2024-02-04 20:54:02       23 阅读
  2. 题目 1159: 偶数求和

    2024-02-04 20:54:02       25 阅读
  3. 海量微服务关联关系挖掘与告警拓扑展示

    2024-02-04 20:54:02       28 阅读
  4. React中的事件处理逻辑

    2024-02-04 20:54:02       31 阅读
  5. WiFi测试的核心思路和主要工具

    2024-02-04 20:54:02       28 阅读
  6. 工程师 - headless模式

    2024-02-04 20:54:02       32 阅读