自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

福大大架构师每日一题

大厂之下第一人。微信公众号:福大大架构师每日一题。最新面试题,针对高级开发人员和架构师。内容是后端、大数据和人工智能。

  • 博客(1709)
  • 资源 (1)
  • 收藏
  • 关注

原创 2022-03-13:golang项目代码push到gogs上,如何自动编译、打镜像、k8s上运行?

2022-03-13:golang项目代码push到gogs上,如何自动编译、打镜像、k8s上运行?答案2022-03-13:2022-02-23:如何搭建k8s单机环境(用k3s),并且搭建dashboard?2022-03-12:k8s如何搭建gogs+drone实现自动化部署cicd,yaml如何写?上面的环境,都需要搭建。测试demo见 git地址主要是test1/.drone.yml的编写。from_secret: kube_token,这个kube_token需要在drone页面中

2022-03-13 06:30:00 3608 2

原创 2022-03-12:k8s如何搭建gogs+drone实现自动化部署cicd,yaml如何写?

2022-03-12:k8s如何搭建gogs+drone实现自动化部署cicd,yaml如何写?答案2022-03-12:需要安装docker和k3s,见 docker和k3s,k3s不需要依赖docker,但是drone-run-docker依赖docker,所以一定要安装docker。第一种方法:yaml如下,需要把192.168.204.13替换成自己电脑的ip:apiVersion: v1kind: ConfigMapmetadata: labels: app: mysql

2022-03-12 11:40:22 5495

原创 2022-02-23:如何搭建k8s单机环境(用k3s),并且搭建dashboard?

2022-02-23:如何搭建k8s单机环境(用k3s),并且搭建dashboard?答案2022-02-03:1.安装docker查看是否安装dockeryum list installed | grep docker#删除dockeryum remove –y docker.x86_64 yum remove –y docker-client.x86_64yum remove –y docker-common.x86_64安装dockercurl -sSL https://g

2022-02-23 23:29:57 4589

原创 文心一言 VS 讯飞星火 VS chatgpt (245)-- 算法导论18.1 3题

B树是一种自平衡的树,它保持数据有序,并允许我们对树进行插入、删除和查找操作,同时保持对数的时间复杂度。B树的每个节点可以有多于两个的子节点,这取决于B树的阶数t。阶数t定义了树的一些性质,比如一个非根节点最多有t-1个关键字和t个子节点,根节点则最多有2t-1个关键字。在这个问题中,我们要求的是表示集合{1,2,3,4,5}的最小度数为2的所有合法B树。最小度数为2意味着每个非根节点至少有2个子节点(即至少有一个关键字),根节点则至少有一个子节点。首先,我们需要明确B树的定义和性质。

2024-04-25 20:08:18 53

原创 课时105:正则表达式_进阶知识_扩展符号

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。

2024-04-25 01:00:00 87

原创 文心一言 VS 讯飞星火 VS chatgpt (244)-- 算法导论18.1 2题

很抱歉,由于我无法直接看到图 18-1,因此无法针对特定的图给出关于 B 树合法性的确切答案。但是,我可以向你解释一个合法的 B 树通常应该满足的条件,这样你就可以根据这些条件去判断图 18-1 是否满足 B 树的定义。一个合法的 B 树应该满足以下条件:节点子树数量:一个内部节点 x 如果包含 n 个关键字,则 x 应有 n + 1 个子节点。这些关键字将节点处理的关键字范围分隔成 n + 1 个子域,每个子域都由 x 的一个子节点处理。关键字排序:所有关键字在节点内从左到右按升序排列。

2024-04-24 14:22:50 663

原创 课时104:正则表达式_进阶知识_限定符号

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。

2024-04-24 01:00:00 162

原创 文心一言 VS 讯飞星火 VS chatgpt (243)-- 算法导论18.1 1题

在B树中不允许最小度数 t=1 的主要原因在于这样会导致树的结构退化为链表,失去了B树作为平衡多路搜索树的优势。当 t=1 时,每个非根节点将只能包含最多一个关键字和两个子节点,这使得B树不再能够有效地利用空间,并且在搜索、插入和删除操作上性能会大大降低。B树的设计初衷是为了减少树的高度,使得磁盘I/O操作次数最小化,特别是在数据库和文件系统中。当 t 值较小时,节点包含的关键字数量减少,树的高度增加,从而可能导致更多的磁盘I/O操作。因此,通常选择一个合适的 t 值来平衡树的深度和节点的关键字数量。

2024-04-23 13:55:08 658

原创 课时103:正则表达式_基础实践_分组符号

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。实践1-分组信息匹配实践。

2024-04-23 01:00:00 146

原创 文心一言 VS 讯飞星火 VS chatgpt (242)-- 算法导论17.4 1题

动态开地址散列表(也称为哈希表或哈希映射)是一种常见的数据结构,用于存储键值对,并通过键进行高效查找。开地址散列表通过哈希函数将键映射到数组的索引,并在该索引位置存储相应的值。当两个或多个键哈希到同一个索引时,就需要使用某种冲突解决策略,如线性探测、二次探测或双重哈希。为什么装载因子达到一个严格小于 1 的值 a 时就认为表满?装载因子是散列表中存储的元素数量与散列表大小(即数组的长度)的比率。当装载因子过高时,冲突的概率会显著增加,导致查找和插入操作的效率降低。

2024-04-22 16:26:32 1402

原创 课时102:正则表达式_基础实践_锚定匹配

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。实践1-行首位地址匹配。

2024-04-22 01:00:00 281

原创 2024-04-21:用go语言,给一棵根为1的树,每次询问子树颜色种类数。 假设节点总数为n,颜色总数为m, 每个节点的颜色,依次给出,整棵树以1节点做头, 有k次查询,询问某个节点为头的子树,一共

2024-04-21:用go语言,给一棵根为1的树,每次询问子树颜色种类数。假设节点总数为n,颜色总数为m,每个节点的颜色,依次给出,整棵树以1节点做头,有k次查询,询问某个节点为头的子树,一共有多少种颜色。答案2024-04-21:来自。

2024-04-21 08:13:53 246

原创 课时101:正则表达式_基础实践_字符匹配

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。实践4-过滤特定的字符范围。实践2-范围单字符过滤。实践3-反向单字符过滤。

2024-04-21 07:41:34 291

原创 文心一言 VS 讯飞星火 VS chatgpt (241)-- 算法导论17.3 7题

为了设计满足要求的数据结构,我们可以采用一个平衡二叉搜索树(如 AVL 树、红黑树)和一个优先队列(最小堆)。平衡二叉搜索树可以保持元素有序,方便查找中位数和删除元素,而优先队列可以高效地完成删除最大一半元素的操作。请注意,上述代码省略了平衡操作,因为实现一个完整的平衡二叉搜索树(如AVL树或红黑树)会非常复杂,并且超出此示例的范围。在实际应用中,你应当使用现成的平衡二叉搜索树库来避免手动维护平衡。此外,函数中,我们通过中序遍历找到中位数,然后遍历删除大于中位数的元素,同时将它们放入最小堆中。

2024-04-20 21:32:56 1363

原创 课时100:正则表达式_基础实践_基础知识

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。

2024-04-20 01:00:00 161

原创 文心一言 VS 讯飞星火 VS chatgpt (240)-- 算法导论17.3 6题

要使用两个栈实现一个队列,并使得每个 ENQUEUE 和 DEQUEUE 操作的摊还代价为 O(1),我们可以采用以下策略:将一个栈(我们称其为栈1)用于输入(ENQUEUE 操作),另一个栈(我们称其为栈2)用于输出(DEQUEUE 操作)。当需要执行 DEQUEUE 操作时,如果栈2为空,则将栈1中的所有元素逐个弹出并压入栈2中,这样就确保了栈2的栈顶元素是队列中的第一个元素。然后,从栈2中弹出栈顶元素即可。ENQUEUE 操作则直接压入栈1中。

2024-04-19 14:55:08 1035

原创 课时99:脚本自动化_expect_综合案例

这一节,我们从 自动分区、用户实践、小结 三个方面来学习。

2024-04-19 01:00:00 166

原创 文心一言 VS 讯飞星火 VS chatgpt (239)-- 算法导论17.3 5题

为了证明如果计数器初值包含 b 个 1 的二进制数,且 n = Ω(b),执行 n 个 INCREMENT 操作的代价为 O(n),我们首先需要理解 INCREMENT 操作是如何影响二进制表示的,以及它如何改变 1 的数量。INCREMENT 操作在一个二进制数上的效果是将最低位的 1 变为 0,并将该位右边的所有 0 都变为 1。如果该位右边没有 0,则会发生进位,使得更高位的 1 变为 0,并可能继续影响更高的位。

2024-04-18 17:11:33 991

原创 课时98:脚本自动化_expect_交互基础

这一节,我们从 脚本基础、简单实践、小结 三个方面来学习。实践1-简单的登录交互脚本。

2024-04-18 01:00:00 197

原创 2024-04-17:用go语言,欢迎各位勇者莅临力扣城,本次的挑战游戏名为「力扣泡泡龙」。 游戏的起点是一颗形状如二叉树的泡泡树,其中每个节点的值代表该泡泡的分值。勇者们有一次机会可以击破一个节点泡

2024-04-17:用go语言,欢迎各位勇者莅临力扣城,本次的挑战游戏名为「力扣泡泡龙」。游戏的起点是一颗形状如二叉树的泡泡树,其中每个节点的值代表该泡泡的分值。勇者们有一次机会可以击破一个节点泡泡,但需要满足以下规则:被击破的节点泡泡最多只能有一个子节点泡泡。如果被击破的节点泡泡有子节点泡泡,那么这个子节点泡泡将会取代被击破泡泡的位置,也就是说,整棵以被击破泡泡为根的子树将会上移。我们的任务是计算在进行了这样一个击破操作(或选择不击破任何节点)后,这棵二叉泡泡树的最大「层和」是多少。

2024-04-17 13:32:43 540

原创 课时97:脚本自动化_expect_语法实践

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。

2024-04-17 01:00:00 259

原创 文心一言 VS 讯飞星火 VS chatgpt (238)-- 算法导论17.3 4题

在栈操作中,PUSH 和 POP 通常具有固定的代价,而 MULTIPOP 的代价取决于要移除的元素数量。在没有具体的代价函数的情况下,我们可以假设每个 PUSH 和 POP 操作的代价为 1,而 MULTIPOP 操作的代价为移除的元素数量。假设初始时栈中有 s(0) 个对象,执行了 n 个操作后,栈中有 s(n) 个对象。由于 PUSH 会增加一个对象,POP 会减少一个对象,而 MULTIPOP 会减少多个对象,我们可以使用以下逻辑来计算总代价:初始化总代价为 0。

2024-04-16 20:51:20 1351

原创 课时96:脚本自动化_expect_expect基础

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。

2024-04-16 01:00:00 237

原创 文心一言 VS 讯飞星火 VS chatgpt (237)-- 算法导论17.3 3题

为了设计一个摊还分析使得 INSERT 操作的摊还代价为 O(lg n) 且 EXTRACT-MIN 操作的摊还代价为 O(1),我们可以使用一个与二叉最小堆结构相关的势函数。通常,势函数会包含与数据结构状态相关的信息,并且会帮助我们调整每次操作的摊还代价。考虑以下势函数:其中:( H ) 是当前的堆结构。( t(H) ) 是堆 ( H ) 中任意节点(包括叶子节点)的高度之和。( n(H) ) 是堆 ( H ) 中的元素数量。

2024-04-15 15:05:53 1234

原创 课时95:脚本自动化_脚本信号_信号捕捉

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。实践1-捕获终止信号。实践2-捕获正常退出。

2024-04-15 01:00:00 160

原创 文心一言 VS 讯飞星火 VS chatgpt (236)-- 算法导论17.3 2题

首先,让我们用势能法来重新分析这个问题。势能法是一种用于分析数据结构操作的摊还成本的技术,它考虑了在每次操作后数据结构所保持的某种势能(或称为“额外”成本)。摊还分析将每个操作的直接成本与其对势能的影响相结合,从而得到每个操作的平均(或摊还)成本。在这个问题中,当 i 是 2 的幂时,第 i 个操作的代价为 i,否则代价为 1。我们可以定义势能为所有 2 的幂位置之前的操作数。

2024-04-14 13:26:19 1275

原创 课时94:脚本自动化_脚本信号_信号基础

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。

2024-04-14 12:53:21 437

原创 2024-04-13:用go语言,给定一个整数数组 `nums`, 请编写一个函数,返回一个新的数组 `counts`。 满足以下条件:对于每个 `nums[i]`, `counts[i]` 表示在

2024-04-13:用go语言,给定一个整数数组nums请编写一个函数,返回一个新的数组counts。满足以下条件:对于每个nums[i]counts[i]表示在nums[i]右侧且比nums[i]小的元素数量。输入:nums = [5,2,6,1]。输出:[2,1,1,0]。答案2024-04-13:来自。

2024-04-13 21:36:29 501

原创 课时93:流程控制_函数进阶_综合练习

这一节,我们从 案例解读、脚本实践、小结 三个方面来学习。

2024-04-13 01:00:00 222

原创 文心一言 VS 讯飞星火 VS chatgpt (235)-- 算法导论17.2 3题

为了实现这样一个计数器,我们可以使用一个位数组(bit array)来存储计数器的当前值,并维护一个额外的指针来指向最高位的 1。每次执行 INCREMENT 或 RESET 操作时,我们可以利用这个指针来高效地更新计数器。下面是具体实现的步骤:初始化:创建一个足够大的位数组(bit array)来存储计数器的值。假设位数组的大小为 m。初始化所有位为 0。初始化一个指针 highestOne,指向位数组的起始位置(即最低位)。

2024-04-12 17:03:40 1529

原创 课时92:流程控制_函数进阶_函数自调用

这一节,我们从 简单实践、案例实践、小结 三个方面来学习。实践1-遍历制定目录下的所有文件。

2024-04-12 01:00:00 149

原创 文心一言 VS 讯飞星火 VS chatgpt (234)-- 算法导论17.2 2题

练习17.1-3要求我们使用聚合分析来确定一个特定操作序列中每个操作的摊还代价。在这个操作序列中,有n个操作,其中当操作的序号i是2的幂时(即i = 1, 2, 4, 8, …),该操作的代价为i;否则,代价为1。首先,我们需要明确摊还分析的基本思想:将每个操作的实际代价与一个“摊还代价”相关联,这样整个操作序列的总摊还代价至少等于其总实际代价,并且每个操作的摊还代价易于计算。在这个问题中,我们可以按照以下步骤进行摊还分析:确定每个操作的实际代价:当i是2的幂时,第i个操作的代价为i。

2024-04-11 21:53:13 1674

原创 课时91:流程控制_函数进阶_函数嵌套

文件间调用实践2-拆分function_drawn_graph.sh脚本。这一节,我们从 基础知识、简单实践、小结 三个方面来学习。函数间调用实践1-图形信息打印。

2024-04-11 01:00:00 159

原创 2024-04-10:用go语言,考虑一个非负整数数组 A, 如果数组中相邻元素之和为完全平方数,我们称这个数组是正方形数组。 现在要计算 A 的正方形排列的数量。 两个排列 A1 和 A2 被认为是

2024-04-10:用go语言,考虑一个非负整数数组 A,如果数组中相邻元素之和为完全平方数,我们称这个数组是正方形数组。现在要计算 A 的正方形排列的数量。两个排列 A1 和 A2 被认为是不同的,如果存在至少一个索引 i,满足 A1[i]!= A2[i]。输入:[1,17,8]。输出:2。答案2024-04-10:来自。

2024-04-10 14:26:36 451

原创 课时90:流程控制_函数进阶_数组传递

这一节,我们从 基础知识、简单实践、小结 三个方面来学习。实践1-函数无法正常接收数据元素。实践3-脚本接收函数内数组。实践2-函数接收数组。

2024-04-10 01:00:00 206

原创 文心一言 VS 讯飞星火 VS chatgpt (233)-- 算法导论17.2 1题

为了证明对一个规模永远不会超过 k 的栈执行 n 个操作(包括复制栈)的总代价为 O(n),我们可以使用摊还分析的方法。摊还分析是一种计算算法时间复杂度的技术,特别适用于那些在某些操作中需要支付额外代价(比如复制栈),但在长期内这些代价会被均摊到其他操作上的情况。首先,我们定义每个栈操作的摊还代价。对于普通的栈操作(如 push、pop),我们可以将摊还代价设为 1,因为这些操作的时间复杂度通常是 O(1)。

2024-04-09 13:30:36 1481

原创 课时89:流程控制_函数进阶_函数变量

这一节,我们从 信息采集、环境部署、小结 三个方面来学习。脚本实践-采集系统负载信息。

2024-04-09 01:00:00 173

原创 文心一言 VS 讯飞星火 VS chatgpt (232)-- 算法导论17.1 3题

为了进行聚合分析并确定每个操作的摊还代价,我们需要理解操作序列的性质,特别是代价的变化规律。根据题目描述,当操作的索引 i 是 2 的幂时(即 i = 2^k,其中 k 是非负整数),该操作的代价为 i;否则,代价为 1。我们接下来分析这个问题:代价规律:对于 2 的幂的操作(如第 1, 2, 4, 8, 16, … 个操作),它们的代价分别是 1, 2, 4, 8, 16, …。这些操作的代价是呈指数增长的。

2024-04-08 20:19:20 1077

原创 课时88:流程控制_函数基础_综合案例

这一节,我们从 传参函数、脚本传参、小结 三个方面来学习。实践2-脚本传参函数进阶实践。实践1-脚本传参函数实践。实践1-传参函数实践。

2024-04-08 01:00:00 166

原创 文心一言 VS 讯飞星火 VS chatgpt (231)-- 算法导论17.1 2题

为了证明如果 k 位计数器的例子中允许 DECREMENT 操作,那么 n 个操作的运行时间可能达到 Θ(nk),我们可以按照以下步骤进行:第一步,考虑一个 k 位计数器,其初始值设为全 1(即最大可能值)。第二步,现在执行 n 次 DECREMENT 操作。每次 DECREMENT 操作都会将计数器的最低位从 1 变为 0(除非它已经是 0),然后进位到下一位。这个过程会一直持续到计数器变为全 0。第三步,观察每次 DECREMENT 操作。

2024-04-07 10:15:16 995

sokobanai1.0.1.zip

推箱子自动求解小工具。 问:推箱子关卡可以用电脑求解吗? 答:对不太大,箱子不太多的关卡,目前有不少程序都能够求出答案。但是,推箱子已经被数学家和计算机科学家证明 是PSPACE完全(PSPACE-complete)问题,即基本可以认为不存在快速(多项式时间)的求解算法。对于比较大的关卡(如我们MF8推箱子比赛的关卡), 如今的个人电脑还无能为力。

2020-06-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除