文章
7
粉丝
0
获赞
0
访问
526
(1)从数组的第一个元素开始和它下一个元素进行对比如果相等则指针向后移动两个以此类推直到比较两个元素不相等时候退出循环。
(2)
typedef struct {
int data[N];
int length;
} List;
List A;
for (int i = 0; i < A.length - 1; i += 2) {
if (A.data[i] != A.data[i + 1]) {
return A.data[i];
}
}
// 如果所有相邻元素相同,返回最后一个元素
return A.data[A.length - 1];
(3) O(n)
评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的设计思想与标准答案一致,都是通过遍历数组并比较相邻元素来找到仅出现一次的元素。思路正确且表述清晰。
(2)得分及理由(满分8分)
得分:6分
理由:学生的代码实现基本正确,但存在以下问题:
N
,这是一个逻辑错误,扣1分。List
,虽然不影响逻辑,但增加了代码的复杂性,扣1分。(3)得分及理由(满分2分)
得分:2分
理由:学生正确分析了算法的时间复杂度为O(n),与标准答案一致。
题目总分:3+6+2=11分
登录后发布评论
暂无评论,来抢沙发