文章
5
粉丝
0
获赞
0
访问
351
评分及理由
(1)得分及理由(满分3分)
学生答案的基本设计思想是:顺序遍历数组,每次步进2个元素(即检查一对元素),如果当前元素与下一个元素不相等,则返回当前元素。这个思路与标准答案一致,都是利用“相同元素一定相邻”的条件,通过比较成对的元素来找出仅出现一次的元素。因此,本部分得3分。
(2)得分及理由(满分8分)
学生提供的代码框架正确,但存在两个逻辑错误:
1. 循环条件应为 i < n-1,而不是 i < n。因为代码中访问了 A[i+1],如果 i 达到 n-1,则 A[i+1] 会越界。
2. 条件判断中使用了赋值运算符 "=" 而不是比较运算符 "==",这会导致将 A[i+1] 的值赋给 A[i],然后判断赋值后的值是否为真,逻辑完全错误。
这两个错误属于严重的逻辑错误,扣分较多。但考虑到学生思路正确,代码结构清晰,给予部分分数。扣分情况:循环条件错误扣3分,比较运算符错误扣3分,剩余2分。
(3)得分及理由(满分2分)
学生正确指出算法的时间复杂度为 O(n),与标准答案一致,得2分。
题目总分:3+2+2=7分
登录后发布评论
暂无评论,来抢沙发