代码随想录二刷day24

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言


一、回溯法模板

java 复制代码
void backtracking(参数) {
    if (终止条件) {
        存放结果;
        return;
    }

    for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {
        处理节点;
        backtracking(路径,选择列表); // 递归
        回溯,撤销处理结果
    }
}

二、力扣77. 组合

java 复制代码
class Solution {
    List<List<Integer>> res = new ArrayList<>();
    List<Integer> group = new ArrayList<>();
    public List<List<Integer>> combine(int n, int k) {
        bracking(1, n, k);
        return res;
    }
    public void bracking(int start ,int n, int k){
        if(group.size() == k){
            res.add(new ArrayList<>(group));
            return;
        }
        for(int i = start; i <= n; i ++){
            group.add(i);
            bracking(i+1, n, k);
            group.remove(group.size()-1);
        }
    }
}
相关推荐
码上就好ovo1 分钟前
Atcoder Beginnner Contest 440
算法
zfj3215 分钟前
CyclicBarrier、CountDownLatch、Semaphore 各自的作用和用法区别
java·开发语言·countdownlatch·semaphore·cyclicbarrier
高洁018 分钟前
CLIP 的双编码器架构是如何优化图文关联的?(3)
深度学习·算法·机器学习·transformer·知识图谱
2501_9167665410 分钟前
【JVM】类的加载机制
java·jvm
Sag_ever11 分钟前
Java数组详解
java
张np12 分钟前
java基础-ConcurrentHashMap
java·开发语言
早日退休!!!13 分钟前
进程与线程的上下文加载_保存及内存映射
开发语言
jllllyuz14 分钟前
MATLAB实现蜻蜓优化算法
开发语言·算法·matlab
AlenTech15 分钟前
208. 实现 Trie (前缀树) - 力扣(LeetCode)
leetcode