文章

32

粉丝

0

获赞

0

访问

19.0k

头像
2025 年 5 月第 1 次 408 月考试卷 - 第41题回答
数据结构
发布于2025年10月27日 18:07
阅读数 313

(1)用a存放前一个数组所指的数字,并用count记录在a出现次数,对数组进行遍历,若A[i]=a,则count++,若不等于则先判断count是否等于1,若是则return a,若不等于则使a=A[i],count=1。

(2)int IsSole(int[] A,int n){

int a=A[0];

int count=1;

for(int i=1;i<b;i++){

if(A[i]=a)count++;

if(A[i]!=a){
if(count=1)return a;

if(count!=1){

a=A[i];

count=1}

}

}

}

(3)时间复杂度o(n),空间复杂度o(1)


评分及理由

(1)得分及理由(满分3分)

得分:2分

理由:学生设计思想是遍历数组,用变量a记录当前比较的数字,count记录出现次数。当遇到不同数字时检查count是否为1。这个思路可以解决问题,但相比标准答案的"比较相邻偶数位置元素"的方法效率稍低(需要逐个比较和状态记录),且没有充分利用题目中"相同元素一定相邻"的条件来优化。不过思路本身正确,因此扣1分。

(2)得分及理由(满分8分)

得分:4分

理由:代码存在多处逻辑错误:
1. 循环条件中使用了未定义的变量b,应为n(扣2分)
2. 多个赋值语句使用了单个等号=而不是比较运算符==(扣1分)
3. 缺少对最后一个元素的处理,如果目标元素在数组末尾,函数无法正确返回(扣1分)
4. 代码格式不规范,缺少必要的分号(扣0.5分)
5. 函数缺少返回值,在循环结束后没有return语句(扣0.5分)
虽然算法逻辑框架基本正确,但实现存在严重缺陷。

(3)得分及理由(满分2分)

得分:2分

理由:正确分析了时间复杂度为O(n),虽然空间复杂度分析不是题目要求,但分析正确,不扣分。

题目总分:2+4+2=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发