小杨使用单向链表存放任务序列,同时记录链表的头部结点 和尾部结点 。链表不为空,已知
tail 尾部结点 ,在链表末尾添加新结点的时间复杂度是( )。


小杨使用单向链表存放任务序列,同时记录链表的头部结点 和尾部结点 。链表不为空,已知
tail 尾部结点 ,在链表末尾添加新结点的时间复杂度是( )。


在不带哨兵结点的双向链表中,结点 既不是头部结点,也不是尾部结点。删除结点 的正确代码是 ( )。

下面函数使用快慢变量查找单向链表的中间结点。横线处应填写( )。

fast = fast.next
函数 定义如下,则 的结果是( )。

3
下面函数用于判断正整数 是否为质数。横线处的最佳写法是( )。

i < n
下面代码实现线性筛(欧拉筛)。为保证每个合数只被它的最小质因子筛除一次,横线处应填写( )。

p % i == 0
根据唯一分解定理,整数 的正确质因数分解是( )。
函数 定义如下,则 的结果是( )。

4
在升序数组中查找第一个严格大于 的元素下标,下面代码横线处应填写( )。

a[mid] < x
小杨需要把若干箱货物按原有顺序分配到 天中,每天运输连续的若干箱,求可以完成任务的最小载
check(cap)
cap 重量。函数 判断载重量为 时,是否可以在规定天数运完全部货物。横线处应填写( )

l = mid + 1
r = mid
下面是归并排序合并两个有序区间(升序排序)的片段。想要让排序算法保持稳定,横线处应当填写 ( )

a[i] < a[j]
下面快速排序的划分函数以 作为枢轴,把不大于枢轴的元素移动到数组左侧。横线处应填写 ( )。

a[j] <= pivot
小杨要在一间教室安排尽可能多场活动,每场活动拥有开始时间 和结束时间 。使用贪心算 法,正确的选择策略是( ) class Activity 1 def __init__ ( self , s , e ): 2 self . start = s 3 self . end = e 4
下面函数用迭代方式求解最大连续子段和。对于数组 ,函数返回结果是 ( )

5
数组 和 低位在前存储两个非负大整数,代码实现高精度加法,横线处应填写( )

carry = sum_val % 10
下面代码,在已知结点 的前提下,可以用 的时间,在单向链表的 结点后面插入新结点 。

head
下面代码可以安全删除单向链表的头结点,并让 指向删除之后的新头结点。

a
b
a > b
a < b
下面的欧几里得算法,只要 、 是正整数,无论 还是 都可以正常求出最大公约数。

i * i
i*i
i
下面埃氏筛从 开始标记合数,原因是: 之前 的合数倍数,已经被更小的质因子标记完成。

下面程序的时间复杂度为
。

a
x
数组 已经升序排列,下面函数可以返回数组中最后一个小于等于 的元素下标;如果不存在该元素,
-1 则返回 。

快速排序中如果选取区间第一个元素作为枢轴。当输入数组已经升序排列时,其最坏时间复杂度仍为
。
下面归并排序的递推式对应的时间复杂度为
。




coins
money
下面的贪心代码,对于任意硬币面值集合 ,都一定可以求出凑出 所需要的最少硬币数量。

a
b
假设两个非负高精度整数分别存储在数组 和 中,且
。数组采用低位在前的方式存储,即
a[0]
c
a - b 表示个位。下面代码中的 可以正确保存 的各位数字。

分,共 分) 3 25 50 1
哥德巴赫猜想
以下为官方试卷题面(与 PDF 一致)


饮品调制
以下为官方试卷题面(与 PDF 一致)


可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
Ctrl / ⌘ + ZCtrl / ⌘ + YCtrl / ⌘ + FCtrl / ⌘ + ACtrl / ⌘ + CCtrl / ⌘ + XCtrl / ⌘ + V工具栏排版按钮编辑时自动保存到本机历史
提交记录AI
作答助手确定要清空代码吗?
确定退出考试模式吗?当前作答进度会暂存在本机会话中,下次可继续。
正在处理答卷,请稍候…