welcome.md
Golang Tutorial 1
...
Rust Tutorial 1
...
Backtracking Template
回溯算法回溯算法通常用于搜索解空间。这样的解空间往往是组合爆炸式增长的,比如排列问题就是一个典型示例。 给定一个数字 ,打印出区间  中所有数字的排列。 对于 ,期望输出: 1234561,2,31,3,22,1,32,3,13,2,13,1,2 在这种情况下,我们需要使用回溯来解决问题。回溯会在每次做出决策、选择一个候选项扩展时保存一个“检查点”。 下面给出回溯算法的模板: 123456789...
Docker 杂记
DockerfileDockerfile是一个包含容器镜像定义的文本文件,可用于启动容器。这个定义包含命令、基础镜像、配置等。在这篇文章中,我们将介绍每个组件,并讨论在什么场景下使用它们。让我们开始吧。 Docker镜像在深入了解各个组件之前,我们可能想知道Docker镜像到底是什么。参考:镜像的结构 镜像是一个只读模板,包含创建Docker容器的指令。通常,一个镜像是基于另一个镜像,并进行一些...
Linux系统概述
Linux可能是世界上使用最广泛的操作系统。了解Linux系统的基础知识对开发者在很多方面都有益处。 文件系统你可以在这里找到更详细的文件系统层次结构。 内核环境变量PATHPATH是最重要的环境变量之一。默认情况下,它的值为 1/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin: 当你输入一个命令时,它会搜索上述所有文件夹,并查找是否存在同名的可执行文件。用...
随机算法
带权重的 random()random() 是一个重要的函数,它会以相同的概率返回一个随机数。带权重的 random() 要求我们生成具有不同权重的随机数。 12345例如:A = [10, 50, 20, 20],如果我们用 P(x) 表示返回 x 的概率,则有:P(0) = 10 / 100 = 0.1P(1) = 50 / 100 = 0.5P(2) = 20 / 100 = 0.2P(3)...
Monotonic Stack/Queue
...
并查集
class UnionFind { private int[] parent; private int[] rank; private int count; public UnionFind(int n) { parent = new int[n]; rank = new int[n]; count...
Trie Tree
...
树状数组
树状数组,也称为二进制索引树,是一种支持单点更新和区间查询的数据结构。在大多数情况下,我们可以用它来查询区间和、区间乘积或其他满足以下条件的操作: 结合律: 具有逆运算,我们可以通过 和 推断出 它基于这样一个假设:任何前缀 都可以分解为最多 个区间,这些区间的信息是已知的。 从上图可以看出,每个位置 控制的区间的右边界是 。在树状数组中, 被分配控制长度为 的区间。这里, ...