文章
3
粉丝
0
获赞
0
访问
1.9k
(1) 循环判断相邻两个值是否相等,如果相等则继续向下判断,如果不同则求出结果
(2)
#include<iostream>
using namespace std;
int main(){
int n;
cin>>n;
int a[100];
for(int i=0;i<n;i++){
cin>>a[i];
}
int t=0;
int i=0;
while(1){
if(a[i]==a[i+1])i++;
else {
t=a[i];
break;
}
i++;
}
cout<<t;
return 0;
}
(3)O(n)
评分及理由
(1)得分及理由(满分3分)
得分:2分。学生的设计思想基本正确,但表述不够精确。标准答案明确提到“顺序遍历坐标为偶数的元素”,而学生仅提到“循环判断相邻两个值是否相等”,没有明确指出遍历的起始位置和步长。因此扣1分。
(2)得分及理由(满分8分)
得分:6分。学生的代码实现了基本功能,但存在以下问题:
a[i+1]可能越界),但未处理边界情况(如最后一个元素为目标元素时)。因此扣2分。
(3)得分及理由(满分2分)
得分:2分。学生正确给出了时间复杂度为O(n),与标准答案一致。
题目总分:2+6+2=10分
登录后发布评论
暂无评论,来抢沙发