文章

202

粉丝

0

获赞

0

访问

53.1k

头像
2025年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年12月18日 17:59
阅读数 56


评分及理由

(1)得分及理由(满分4分)

学生作答的基本设计思想是:对每个A[i],通过双重循环计算A[i]与所有A[j](j从i到n-1或从0到n-1)的乘积,并记录最大值存入res[i]。这一思路虽然正确,但时间复杂度为O(n²),不是题目要求的“尽可能高效的算法”。标准答案的O(n)算法利用了从右向左遍历并维护最大值和最小值的技巧,显著更优。学生的思路属于暴力解法,虽然能得到正确结果,但效率较低,未达到题目对“高效”的要求。因此扣2分,得2分。

(2)得分及理由(满分7分)

学生给出的代码实现了上述暴力思路。但存在以下问题:
1. 内层循环的起始条件不一致(第一次识别为j=i,第二次为j=0)。根据题目要求(0≤i≤j≤n-1),j应从i开始,因此第一次识别更符合题意,第二次识别有误(j从0开始会包含i 2. 变量temp在每轮外层循环开始时未重置(始终为-1或上一轮的最大值),这会导致res[i]可能错误地继承上一轮的最大值,而不是当前i对应的最大值。这是一个逻辑错误,应扣分。
3. 代码未处理n=0等边界情况,但题目未明确要求,暂不扣分。
基于上述逻辑错误(temp未重置),扣3分。代码整体能表达暴力解法意图,但效率低且有关键错误,得4分。

(3)得分及理由(满分2分)

学生正确分析了其算法的时间复杂度为O(n²),空间复杂度为O(1)。这与其实现代码相符,因此得满分2分。

题目总分:2+4+2=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发