上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 159 下一页
摘要: 八、用go语言,说明如何在每个元素仅使用一个指针 x.np(而不是通常的两个指针 next和prev)的下实现双向链表。假设所有指针的值都可视为 k 位的整型数,且定义x.np=x.next XOR x.prev,即x.nert和x.prev 的 k 位异或。(NIL 的值用0表示。)注意要说明获表 阅读全文
posted @ 2023-10-17 21:15 福大大架构师每日一题 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 七、用go语言,给出一个 O(n)时间的非递归过程,实现对一个含 n个元素的单链表的逆转。要求除存储链表本身所需的空间外,该过程只能使用固定大小的存储空间。 文心一言: 在Go语言中,你可以使用迭代方法来反转一个单链表。这种方法只需要O(1)的额外空间。首先,我们需要定义链表的数据结构: type 阅读全文
posted @ 2023-10-16 17:20 福大大架构师每日一题 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 五、用go语言,使用单向循环链表实现字典操作 INSERT、DELETE 和 SEARCH,并给出所写过程的运行时间。 文心一言: 在Go语言中,我们首先需要定义一个Node结构体来表示单向循环链表的节点,然后再定义一个LinkedList结构体来表示单向循环链表。接下来,我们可以实现INSERT、 阅读全文
posted @ 2023-10-15 20:06 福大大架构师每日一题 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 2023-10-14:用go语言,给定 pushed 和 popped 两个序列,每个序列中的 值都不重复, 只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时, 返回 true;否则,返回 false 。 输入:pushed = [1,2,3,4,5], poppe 阅读全文
posted @ 2023-10-14 16:15 福大大架构师每日一题 阅读(35) 评论(0) 推荐(1) 编辑
摘要: 三、用go语言,用一个单链表L实现一个队列。要求操作 ENQUEUE 和 DEQUEUE 的运行时间仍为O(1)。 文心一言: 在 Go 语言中,使用单链表实现队列的操作,包括入队(ENQUEUE)和出队(DEQUEUE),并保持操作的时间复杂度为 O(1),需要利用两个指针,一个指向队头,另一个指 阅读全文
posted @ 2023-10-13 16:45 福大大架构师每日一题 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 二、用go语言,用一个单链表 L实现一个栈。要求操作 PUSH和 POP 的运行时间仍为 O(1)。 文心一言: 在 Go 语言中,我们可以用结构体来实现一个单链表,然后再用栈的相关操作。 以下是一个可能的实现方式: package main import "fmt" // 定义一个Node结构体, 阅读全文
posted @ 2023-10-12 19:31 福大大架构师每日一题 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 2023-10-11:用go语言,一个数字n,一定要分成k份, 得到的乘积尽量大是多少? 数字n和k,可能非常大,到达10^12规模。 结果可能更大,所以返回结果对1000000007取模。 来自华为。 来自左程云。 答案2023-10-11: 大体过程如下: 算法1:暴力递归 1.首先判断k是否为 阅读全文
posted @ 2023-10-11 14:17 福大大架构师每日一题 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 一、用go语言,单链表上的动态集合操作 INSERT 能否在 O(1)时间内实现?DELETE 操作呢? 文心一言: 在单链表中,INSERT 和 DELETE 操作的时间复杂度通常是 O(n),其中 n 是链表中的元素数量。这主要是因为当你插入或删除元素时,你需要遍历链表来找到正确的插入或删除位置 阅读全文
posted @ 2023-10-10 15:31 福大大架构师每日一题 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 七、用go语言,说明如何用两个队列实现一个栈,并分析相关栈操作的运行时间。 文心一言: 在Go语言中,我们可以用两个队列(queue1和queue2)实现一个栈。以下是实现代码: package main import "fmt" type Queue struct { items []int } 阅读全文
posted @ 2023-10-09 17:14 福大大架构师每日一题 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 六、用go语言,说明如何用两个栈实现一个队列,并分析相关队列操作的运行时间。 文心一言: 使用两个栈实现队列的基本思想是利用一个栈(stack1)来处理入队操作,另一个栈(stack2)来处理出队操作。以下是使用 Go 语言实现的代码: package main import "fmt" type 阅读全文
posted @ 2023-10-08 19:23 福大大架构师每日一题 阅读(39) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 159 下一页