文章

7

粉丝

0

获赞

0

访问

493

头像
【250518年】408计算机统考真题模拟考试 - 第41题答案笔记
数据结构
发布于2025年5月20日 21:12
阅读数 63

计算机考研408统考历年真题及答案解析

(1)设置指针i,遍历整个数组A,若A[i]的值不等于A[i+1],则A[i]是指出现一次的那个元素。若遍历到最后一个元素仍未找到符合条件的元素,只出现一次的元素即为最后一个元素。

(2)int function(int A[], int numsize){

bool find = false; int ans =0;

for(int I=0;i<numsize-1;i++){

if(A[i]==A[i+1]){

find = true;

ans = A[i];

}

}

if(find==false){

ans = A[numsize-1];

}

return ans;

}

(3)因为只需要遍历一次数组,所以该算法的时间复杂度是O(n)。


评分及理由

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

得分:2分

理由:学生的设计思想基本正确,但表述不够严谨。题目要求相同元素一定相邻,因此只需遍历偶数位置的元素即可,但学生没有明确指出这一点。此外,学生的思路与标准答案的逻辑一致,但表述不够清晰。

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

得分:5分

理由:学生的代码实现存在逻辑错误。代码中遍历所有元素,但判断条件是如果相邻元素相等则记录该元素,这与题目要求不符(题目要求找出仅出现一次的元素)。此外,代码中的变量命名不规范(如`find`和`ans`的用途不明确),且逻辑错误导致无法正确找到目标元素。关键注释缺失。

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

得分:2分

理由:学生正确分析了算法的时间复杂度为O(n),与标准答案一致。

题目总分:2+5+2=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发