- 博客(17)
- 收藏
- 关注
原创 【并查集】食物链
①、如图所示:"A" 节点到 "根节点" 的距离为 "1",即 "1% 3 = 1",所以 "A" 可以吃 "根节点";"B" 节点到 "根节点" 的距离为 "2",即 "2 % 3 = 2",所以 "B" 能吃 "A",那因此也就推断 "B" 也会被 "根节点" 吃;"C" 节点到 "根节点" 的距离为 "3",即 "3 % 3 = 0",所以 "C" 和 "根节点" 是同类。 ②、用每个节点到 "根节点" 的距离来表示该节点与 "根节点" 之间的关系。因为此题是 "三种动物" 形成一个循环
2023-09-04 19:22:16
717
1
原创 一维前缀和
能快速的求出原数组中一段数的和,设原数组为:{a1, a2, a3, ......, an},"前缀和" 为:Si = a1 + a2 + a3 + ...... + ai (S0 = 0)(前 "i" 项之和)(数组的下标是从 "1" 开始,不是从 "0" 开始)
2023-08-28 10:30:34
2112
1
原创 【Trie】字符串统计
并且字符 "d" 有标记,表示存在一个字符串以 "d" 结尾,则该字符串存在。②、"son[1] [1]" 表示为1号爸爸("a")有个孩子为 "b",孩子 "b" 的下标为 "2"。③、"son[2] [2]" 表示为2号爸爸("b")有个孩子为 "c",孩子 "c" 的下标为 "3"。⑥、"son[1] [2]" 表示为1号爸爸("a")有个孩子为 "c",孩子 "c" 的下标为 "6"。⑦、"son[6] [1]" 表示为6号爸爸("c")有个孩子为 "b",孩子 "b" 的下标为 "7"。
2023-08-27 18:31:14
2295
2
原创 【单调队列】滑动窗口
有一个长为n的序列a,以及一个大小为k的窗口。现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。
2023-08-24 13:53:38
2339
1
原创 归并排序详解
取整个区间的 "中心点" 为分界点:"mid = (l + r) / 2"。以整个区间的 "中心点" 为分界点,分成左右区间,递归排序左右区间。左右区间已经通过上一步骤排好序后,将左右区间拼接到一起,就得到一个排好序的完整区间。设 "左区间" = "A","右区间" = "B"。"A" 和 "B" 已经在步骤二通过递归排好序了,都是由小到大的顺序。(1)、首先,比较 "A" 和 "B" 的第一个元素,如果 "A" 中更小,就把 "A" 中第一个元素取下来存到 "res数组" 中。
2023-08-13 23:29:12
2214
1
原创 快速排序详解
①、左边界 "q[l]" ②、中间值 "q[l + r] / 2" ③、右边界 "q[r]"。假设 "x" = "中间值",以 "x" 为分界点,通过调整数值,使得 "x" 左边的数都小于等于 "x";"x" 右边的数都大于等于 "x"。用递归将 "x" 左边的数和右边的数都排好序,然后再将两者拼接到一起,就得到一个排好序的完整区间。(1)、定义两个指针 "i" 和 "j" 分别指向左右边界,两个指针同时往中间走;
2023-08-13 23:14:49
2204
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人