文章
5
粉丝
0
获赞
0
访问
249
使用异或运算,因为 相同数字相异或为0,全部异或后只会剩下只出现一次的元素
int solve(int n, int* a) {
int ans = 0;
for (int i = 0; i < n; i++) {
ans ^= a[i];
}
return ans;
}
时间复杂度O(n)。
评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的设计思想正确,利用异或运算的性质(相同数字异或为0,最终剩下只出现一次的元素),虽然与标准答案的遍历偶数位方法不同,但思路正确且高效,符合题目要求。
(2)得分及理由(满分8分)
得分:8分
理由:代码实现正确且简洁,完全符合设计思想。通过遍历数组并异或所有元素,最终返回结果。注释虽未显式写出,但代码逻辑清晰,无需额外注释也能理解。
(3)得分及理由(满分2分)
得分:2分
理由:时间复杂度分析正确,为O(n),与标准答案一致。
题目总分:3+8+2=13分
登录后发布评论
暂无评论,来抢沙发