文章

54

粉丝

21

获赞

0

访问

4.2k

头像
2025 年 5 月第 1 次 408 月考试卷 - 第41题回答
数据结构
发布于2025年10月21日 20:56
阅读数 46

(1)遍历数组,访问后续数据直至与当前元素不相同为止,设置x记录当前数据相同元素的个数,下次访问数组时数组下标+x,若出现x为0的情况,则返回当前下标数据。

(2)

int R(int A【n】){
int i=0;
while(i<n){
int x=0;int j=0;
if(i==n-1){
return A【n-1】;
}
while(A【i】==A【i+j】)
{x++;}
if(x!=0){
i=i+x;
}else
{return A【i】;}
}
}

(3)时间复杂度O(n);


评分及理由

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

得分:1分

理由:学生给出的基本设计思想是遍历数组,通过计数相同元素来跳过重复元素,这与标准答案的"顺序遍历坐标为偶数的元素"思路不同。虽然思路可行,但不够高效且实现复杂。考虑到学生确实提出了一个可行的解决方案,给予部分分数。

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

得分:3分

理由:代码存在多处问题:
1. 语法错误:函数定义使用了中文括号和方括号,变量j未正确使用
2. 逻辑错误:内层while循环缺少终止条件,会导致无限循环
3. 变量j在循环中未递增,无法正确比较后续元素
4. 当x=0时的处理逻辑不清晰
虽然代码框架基本正确,但实现存在严重缺陷,无法正确运行。

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

得分:1分

理由:学生正确识别出算法的时间复杂度为O(n),这是正确的。但由于代码实现存在严重问题,实际无法达到O(n)的效率,因此扣1分。

题目总分:1+3+1=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发