12 2023 档案

摘要:一、用go语言,写出 RIGHT-ROTATE 的伪代码。 文心一言: 在计算机科学中,右旋转(RIGHT-ROTATE)是一种常见的操作,通常用于数组或链表。以下是一个使用Go语言实现右旋转的伪代码: func rightRotate(arr []int, k int) []int { n := 阅读全文
posted @ 2023-12-31 20:42 福大大架构师每日一题 阅读(279) 评论(2) 推荐(0) 编辑
摘要:2023-12-30:用go语言,给你一个下标从 0 开始的整数数组 nums ,它包含 n 个 互不相同 的正整数, 如果 nums 的一个排列满足以下条件,我们称它是一个特别的排列。 对于 0 <= i < n - 1 的下标 i: 要么 nums[i] % nums[i+1] == 0, 要么 阅读全文
posted @ 2023-12-30 21:50 福大大架构师每日一题 阅读(18) 评论(0) 推荐(0) 编辑
摘要:七、用go语言,试描述一棵含有 n 个关键字的红黑树,使其红色内部结点个数与黑色内部结点个数的比值最大。这个比值是多少? 该比值最小的树又是怎样呢?比值是多少? 文心一言: 红黑树是一种自平衡的二叉查找树,它满足以下性质: 每个节点或是红色,或是黑色。 根节点是黑色。 每个叶节点(NIL或空节点)是 阅读全文
posted @ 2023-12-29 15:28 福大大架构师每日一题 阅读(133) 评论(1) 推荐(0) 编辑
摘要:六、用go语言,在一棵黑高为 k 的红黑树中,内部结点最多可能有多少个?最少可能有多少个? 文心一言: 红黑树是一种自平衡的二叉查找树,其中每个节点都有一个颜色属性,可以是红色或黑色。红黑树满足以下性质: 每个节点或者是红色,或者是黑色。 根节点是黑色。 每个叶节点(NIL或空节点)是黑色。 如果一 阅读全文
posted @ 2023-12-28 09:26 福大大架构师每日一题 阅读(38) 评论(0) 推荐(0) 编辑
摘要:2023-12-27:用go语言,店铺数量n,编号1~n, 人的数量m,编号1~m, 每个人有自己投票的店铺p,和改投1号店的报价x。 返回想让1号店铺成为人气最高的店,至少花多少钱? 1 <= p,n,m <= 3000, 1 <= x <= 10^9。 1号店铺贿赂问题。来自华为OD。 答案20 阅读全文
posted @ 2023-12-27 16:01 福大大架构师每日一题 阅读(27) 评论(1) 推荐(0) 编辑
摘要:五、用go语言,证明:在一棵红黑树中,从某结点 x 到其后代叶结点的所有简单路径中,最长的一条至多是最短一条的 2 倍。 文心一言: 首先,我们要理解红黑树的性质。红黑树是一种自平衡的二叉查找树,它满足以下性质: 每个节点或是红色,或是黑色。 根节点是黑色。 每个叶节点(NIL或空节点)是黑色。 如 阅读全文
posted @ 2023-12-26 10:53 福大大架构师每日一题 阅读(100) 评论(0) 推荐(0) 编辑
摘要:四、用go语言,假设将一棵红黑树的每一个红结点“吸收”到它的黑色父结点中,使得红结点的子结点变成黑色父结点的子结点(忽略关键字的变化)。当一个黑结点的所有红色子结点都被吸收后,它可能的度为多少?所得的树的叶结点深度如何? 文心一言: 红黑树是一种自平衡的二叉查找树,其节点颜色可以是红色或黑色。红黑树 阅读全文
posted @ 2023-12-25 10:56 福大大架构师每日一题 阅读(28) 评论(0) 推荐(0) 编辑
摘要:三、用go语言,定义一棵松弛红黑树(relaxed red-black tree)为满足红黑性质 1、3、4 和5的二叉搜索树。换句话说,根结点可以是红色或是黑色。考虑一棵根结点为红色的松弛红黑树 T 。如果将 T 的根结点标为黑色而其他都不变,那么所得到的是否还是一棵红黑树? 文心一言: 是的,如 阅读全文
posted @ 2023-12-24 17:02 福大大架构师每日一题 阅读(24) 评论(0) 推荐(0) 编辑
摘要:2023-12-23:用go语言,一支n个士兵的军队正在趁夜色逃亡,途中遇到一条湍急的大河 敌军在T的时长后到达河面,没到过对岸的士兵都会被消灭 现在军队只找到了1只小船,这船最多能同时坐上2个士兵。 当1个士兵划船过河,用时为a[i] 当2个士兵坐船同时划船过河时, 用时为max(a[j],a[i 阅读全文
posted @ 2023-12-23 16:10 福大大架构师每日一题 阅读(83) 评论(0) 推荐(0) 编辑
摘要:二、用go语言,对图13-1中的红黑树,画出对其调用TREE-INSERT 操作插人关键字 36 后的结果。如果插人的结点被标为红色,所得的树是否还是一棵红黑树?如果该结点被标为黑色呢? 文心一言,代码不能运行: 在Go语言中,对红黑树进行插入操作后,需要重新调整树的结构以保持其红黑性质。下面是一个 阅读全文
posted @ 2023-12-22 17:52 福大大架构师每日一题 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、用go语言,按照图 13-1(a)的方式,画出在关键字集合(1,2,…,15)上高度为 3 的完全二叉搜索树。以三种不同方式向图中加入 NIL 叶结点并对各结点着色,使所得的红黑树的黑高分别为2、3和4。 文心一言: 首先,我们需要明确什么是完全二叉搜索树(Complete Binary Sea 阅读全文
posted @ 2023-12-21 16:07 福大大架构师每日一题 阅读(39) 评论(0) 推荐(0) 编辑
摘要:2023-12-20:用go语言,给定一个数组arr,长度为n,在其中要选两个不相交的子数组。 两个子数组的累加和都要是T,返回所有满足情况中,两个子数组长度之和最小是多少? 如果没有有效方法,返回-1。 正式 : 2 <= n <= 10^6 0 <= arr[i] <= 10000 1 <= T 阅读全文
posted @ 2023-12-20 17:39 福大大架构师每日一题 阅读(13) 评论(0) 推荐(0) 编辑
摘要:二、用go语言,请描述这样一棵有 n 个结点的二叉搜索树,其树中结点的平均深度为 O(lgn),但这棵树的高度是w(lgn)。一棵有 n个结点的二叉搜索树中结点的平均深度为 O(lgn),给出这棵树高度的一个渐近上界。 文心一言: 二叉搜索树(Binary Search Tree,BST)是一种特殊 阅读全文
posted @ 2023-12-19 16:07 福大大架构师每日一题 阅读(37) 评论(0) 推荐(0) 编辑
摘要:六、用go语言,当 TREE-DELETE 中的结点 z 有两个孩子时,应该选择结点 y 作为它的前驱,而不是作为它的后继。如果这样做,对 TREE-DELETE 应该做些什么必要的修改?一些人提出了一个公平策略,为前驱和后继赋予相等的优先级,这样得到了较好的实验性能。如何对 TREE-DELETE 阅读全文
posted @ 2023-12-18 17:55 福大大架构师每日一题 阅读(12) 评论(0) 推荐(0) 编辑
摘要:五、用go语言,假设为每个结点换一种设计,属性 x.p 指向 x 的双亲,属性 x.succ 指向 x 的后继。试给出使用这种表示法的二叉搜索树 T 上 SEARCH、INSERT 和DELETE 操作的伪代码。这些伪代码应在 O(h) 时间内执行完,其中 h 为树 T 的高度。(提示:应该设计一个 阅读全文
posted @ 2023-12-17 19:19 福大大架构师每日一题 阅读(9) 评论(0) 推荐(0) 编辑
摘要:2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和的最大值。 来自字节。 答案2023-12-16: 来自左程云。 灵捷3.5 大体步骤如下: 算法 maxSum1 分析: 1.计算输入数组 arr 的长度 n。 2.如果 n <= k,则返回 阅读全文
posted @ 2023-12-16 21:28 福大大架构师每日一题 阅读(13) 评论(0) 推荐(0) 编辑
摘要:四、用go语言,删除操作可交换吗?可交换的含义是,先删除 x 再删除 y 留下的结果树与先除 y 再删除 x 留下的结果树完全一样。如果是,说明为什么? 否则,给出一个反例。 文心一言: 在Go语言中,删除操作是不可交换的。这意味着先删除节点 x 再删除节点 y 与先删除节点 y 再删除节点 x 留 阅读全文
posted @ 2023-12-15 17:27 福大大架构师每日一题 阅读(52) 评论(0) 推荐(0) 编辑
摘要:三、用go语言,对于给定的 n 个数的集合,可以通过先构造包含这些数据的一棵二叉搜索树(反复使用TREE-INSERT 逐个插入这些数),然后按中序遍历输出这些数的方法,来对它们排序。这个排序算法的最坏情况运行时间和最好情况运行时间各是多少? 文心一言: 在Go语言中,使用二叉搜索树(BST)进行排 阅读全文
posted @ 2023-12-14 17:37 福大大架构师每日一题 阅读(20) 评论(0) 推荐(0) 编辑
摘要:2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a到z编号为0到25编号, 纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号, 若i>1的话就表示第i个字母和第i-1个字母编号的差值, 例如,a2就代表密码中第1个字母和第2个字母编号的差 阅读全文
posted @ 2023-12-13 17:48 福大大架构师每日一题 阅读(33) 评论(0) 推荐(0) 编辑
摘要:二、用go语言,假设通过反复向一棵树中插人互不相同的关键字来构造一棵二叉搜索树。证明:在这棵树中查找关键字所检查过的结点数目等于先前插入这个关键字所检查的结点数目加 1。 文心一言: 为了证明这个结论,我们可以使用二叉搜索树的性质:在二叉搜索树中,每个节点包含一个关键字以及指向其左右子节点的指针。左 阅读全文
posted @ 2023-12-12 22:38 福大大架构师每日一题 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一、用go语言,给出 TREE-INSERT 过程的一个递归版本。 文心一言,代码不能运行: 下面是用 Go 语言实现一个递归版本的 TREE-INSERT 过程的代码: package main import "fmt" type TreeNode struct { Val int Left *T 阅读全文
posted @ 2023-12-11 22:02 福大大架构师每日一题 阅读(14) 评论(0) 推荐(0) 编辑
摘要:九、用go语言,设 T 是一棵二叉搜索树,其关键字互不相同;设 x 是一个叶结点,y 为其父结点。证明: y.key 或者是 T 树中大于 x.key 的最小关键字,或者是 T 树中小于 x.key 的最大关键字。 文心一言: 要证明这个性质,我们可以采用二叉搜索树的性质:对于任何节点N,其左子树中 阅读全文
posted @ 2023-12-10 18:43 福大大架构师每日一题 阅读(311) 评论(1) 推荐(1) 编辑
摘要:2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2 中各选出一个索引, 分别为 i 和 j,0 <= i < arr1.length 和 0 <= j 阅读全文
posted @ 2023-12-09 17:19 福大大架构师每日一题 阅读(64) 评论(0) 推荐(0) 编辑
摘要:八、用go语言,证明:在一棵高度为 h 的二叉搜索树中,不论从哪个结点开始,k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(k+h)。 文心一言: 要证明在一棵高度为 h 的二叉搜索树中,不论从哪个结点开始,k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(k+h),我 阅读全文
posted @ 2023-12-08 10:22 福大大架构师每日一题 阅读(36) 评论(0) 推荐(0) 编辑
摘要:软考多媒体应用设计师出成绩了,终于通过了。 阅读全文
posted @ 2023-12-07 15:09 福大大架构师每日一题 阅读(16) 评论(0) 推荐(0) 编辑
摘要:七、用go语言,对于一棵有 n 个结点的二叉搜索树,有另一种方法来实现中序遍历,先调用 TREE-MINIMUM 找到这棵树中的最小元素,然后再调用 n-1 次的 TREE-SUCCESSOR。证明:该算法的运行时间为 O(n)。 文心一言: 灵捷3.5 。 为了证明该算法的运行时间为 O(n),我 阅读全文
posted @ 2023-12-07 14:41 福大大架构师每日一题 阅读(42) 评论(0) 推荐(0) 编辑
摘要:2023-12-06:用go语言,给你一个由 n 个数对组成的数对数组 pairs, 其中 pairs[i] = [lefti, righti] 且 lefti < righti 。 现在,我们定义一种 跟随 关系,当且仅当 b < c 时, 数对 p2 = [c, d] 才可以跟在 p1 = [a 阅读全文
posted @ 2023-12-06 17:18 福大大架构师每日一题 阅读(39) 评论(0) 推荐(0) 编辑
摘要:六、用go语言,考虑一棵二叉搜索树 T ,其关键字互不相同。证明:如果 T 中一个结点 x 的右子树为空,且 x 有一个后继 y ,那么 y 一定是 x 的最底层祖先,并且其左孩子也是 x 的祖先。(注意到,每个结点都是它自己的祖先。) 文心一言,代码正常运行: 灵捷3.5 。 为了证明上述命题,我 阅读全文
posted @ 2023-12-05 17:23 福大大架构师每日一题 阅读(15) 评论(0) 推荐(0) 编辑
摘要:五、用go语言,证明:如果一棵二叉搜索树中的一个结点有两个孩子,那么它的后继没有左孩子,它的前驱没有右孩子。 灵捷3.5 。 文心一言: 为了证明这个性质,我们首先需要明确二叉搜索树(BST)的定义和特性。一个二叉搜索树是一个有序的树,其中每个节点的左子树上的所有值都小于节点的值,而右子树上的所有值 阅读全文
posted @ 2023-12-04 15:59 福大大架构师每日一题 阅读(36) 评论(0) 推荐(0) 编辑
摘要:三、用go语言,写出过程 TREE-PREDECESSOR 的伪代码。 文心一言: 以下是使用Go语言编写的TREE-PREDECESSOR函数的伪代码: func TREE-PREDECESSOR(node) { if node.parent != nil { return node.parent 阅读全文
posted @ 2023-12-03 16:34 福大大架构师每日一题 阅读(33) 评论(0) 推荐(0) 编辑
摘要:2023-12-02:用go语言,如何求模立方根? x^3=a mod p, p是大于等于3的大质数, a是1到p-1范围的整数常数, x也是1到p-1范围的整数,求x。 p过大,x不能从1到p-1遍历。 答案2023-12-02: 灵捷3.5 大体步骤如下: 1.判断是否存在模立方根。有0,1,3 阅读全文
posted @ 2023-12-02 19:35 福大大架构师每日一题 阅读(31) 评论(0) 推荐(0) 编辑
摘要:二、用go语言,写出 TREE-MINIMUM 和 TREE-MAXIMUM 的递归版本。 灵捷3.5 。 文心一言: 以下是用 Go 语言编写的树的最大值和最小值的递归版本代码: package main import ( "fmt" ) type TreeNode struct { Val in 阅读全文
posted @ 2023-12-01 22:05 福大大架构师每日一题 阅读(389) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示