文章

194

粉丝

0

获赞

0

访问

27.5k

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


评分及理由

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

得2分。学生的基本设计思想是:先找出整个数组的正数最大值和负数最小值,然后根据A[i]的正负分别乘以max或min。这个思路与标准答案不同,标准答案是从右向左遍历,动态维护从i到n-1的最大值和最小值。学生的思路存在逻辑错误:对于每个A[i],需要的是与A[j](j≥i)的乘积最大值,而学生找的是整个数组的最大值和最小值,忽略了j必须≥i的限制。例如,若A = [3, 2, 1],按照学生算法,max=3,res[2] = 1*3=3,但实际上A[2]只能与自身相乘,最大乘积应为1。因此,思路有缺陷,扣2分。

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

得3分。代码实现了学生的思路,但存在以下逻辑错误:
1. 初始化max=0, min=0不正确。若数组所有正数都小于0(即没有正数),则max保持为0,导致正数乘以0的错误结果;同样,若所有负数都大于0(即没有负数),min保持为0,导致负数乘以0的错误。应初始化为合适的极值。
2. 算法逻辑错误,如(1)所述,未考虑j≥i的限制。
由于核心逻辑错误,扣4分。代码结构清晰,语法正确,给予部分基础分。

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

得1分。学生正确给出了时间复杂度O(n)和空间复杂度O(1),但因其算法逻辑错误,时间复杂度虽正确,但算法本身不正确,故扣1分。

题目总分:2+3+1=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发