文章
240
粉丝
1101
获赞
1681
访问
135w
(1) 顺序遍历坐标为偶数的元素,与后一个元素比较,如果前一个元素与后一个元素不一样,
则前一个元素为目标值。
(2) 算法实现:
int func(int *A, int n) {
for (int i = 0; i < n - 1; i += 2) {
// 每次比较一对数字,不相等则前一个元素为目标元素
if (A[i] != A[i + 1]) { return A[i]; }
}
return A[n-1]; // 最后一个元素为目标元素
}
(3) 算法中需要顺序遍历数组,时间复杂度为o(n)。
评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的设计思想与标准答案完全一致,正确描述了算法的基本思路,即顺序遍历坐标为偶数的元素并与后一个元素比较,若不等则前一个元素为目标值。
(2)得分及理由(满分8分)
得分:8分
理由:学生的代码实现与标准答案完全一致,包括循环遍历、比较逻辑和返回值的处理。注释也清晰说明了算法的关键步骤,符合题目要求。
(3)得分及理由(满分2分)
得分:2分
理由:学生正确分析了算法的时间复杂度为O(n),与标准答案一致。虽然“o(n)”中的“o”应为大写“O”,但这是笔误,不影响对时间复杂度的正确理解。
题目总分:3+8+2=13分
登录后发布评论
暂无评论,来抢沙发