文章
2
粉丝
0
获赞
0
访问
138
(1)用一个左指针先指向数组首元素,右指针指向左指针下一个元素,判断两者所知数组元素数值是否相等,若相等则左指针+=2,右指针+=2,接着判断,当两者不等,则此时左指针所指的元素就是仅出现一次的元素
(2)
int find(){
int l=0;
int r=l+1;
for(;r<=n-1;){
if(a[l]!=a[r]){
return a[l];
}
l+=2;
r+=2;
}
}
(3)O(n)
评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的设计思想与标准答案一致,虽然表述方式不同,但核心思路是遍历偶数位置的元素并与后一个元素比较,逻辑正确且清晰,因此不扣分。
(2)得分及理由(满分8分)
得分:6分
理由:学生的代码实现基本正确,但存在以下问题:
(3)得分及理由(满分2分)
得分:2分
理由:学生正确分析了算法的时间复杂度为O(n),与标准答案一致,不扣分。
题目总分:3+6+2=11分
登录后发布评论
暂无评论,来抢沙发