文章

25

粉丝

0

获赞

0

访问

1.8k

头像
2025 年 5 月第 1 次 408 月考试卷 - 第41题回答
数据结构
发布于2025年9月20日 12:47
阅读数 80


评分及理由

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

得3分。学生的基本设计思想是使用栈来处理数组元素:依次将元素入栈,若当前元素与栈顶元素相同则弹出栈顶元素(即不保留相同元素),最后栈中剩下的元素即为仅出现一次的元素。该思路正确利用了相同元素相邻的条件,能够高效地找出目标元素,与标准答案的遍历比较方法不同但逻辑正确,因此不扣分。

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

得6分。算法描述整体正确,但存在以下逻辑错误:
- 代码中未定义参数n(数组长度),在函数参数中缺少int n,这会导致循环无法正确执行,属于逻辑错误,扣2分。
- 栈操作逻辑:在判断条件中,若栈非空且当前元素等于栈顶元素,则执行pop(弹出),但之后无论是否弹出,都会执行push(入栈)。这会导致错误:例如对于序列[3,3],当第二个3入栈时,会先弹出栈顶的3,但随后又将第二个3入栈,导致栈中仍保留一个3,而正确行为应是两个3都不保留。因此,该逻辑无法正确消除所有成对元素,属于关键逻辑错误,扣2分。
- 其他部分(如栈初始化、循环遍历)正确,但核心逻辑有误,因此扣分后得6分。

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

得2分。学生正确说明了时间复杂度为O(n),与标准答案一致,且栈操作每次循环为常数时间,整体复杂度正确,因此不扣分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发