文章

8

粉丝

0

获赞

1

访问

588

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

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

1.由于相同元素一定相邻,故可以比较相邻两个元素的值和自己是否相同,通过遍历一趟数组,分别记录前i-1和后i+1元素的值
2.

int only_one_ele(int A[],int n){
    //A为数组,n为数组长度
    for (int i = 1; i < n-1; ++i) {
        if(A[i] != A[i-1] && A[i] != A[i+1]){
            return A[i];  //遍历A列表,从中筛选出不同的两个元素
        }
    }
    //排除端点情况
    if(A[n-1] != A[n]){
        return A[n];
    } else if(A[0] != A[1]){
        return A[0];
    }
    return 0;//表示没找到
}

3.由于只遍历了一次数组,故时间复杂度为O(n)

评分及理由

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

得分:2分

理由:学生的设计思想提到了比较相邻元素的值,但表述不够清晰,没有明确指出遍历坐标为偶数的元素。思路基本正确,但不够精确。

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

得分:6分

理由:学生的代码实现基本正确,但存在以下问题:

  • 循环条件为i < n-1,但数组索引从1开始,可能会漏掉第一个元素的检查。
  • 在排除端点情况时,A[n-1] != A[n]会导致数组越界,因为A[n]是无效的。
  • 代码注释不够详细,关键逻辑没有明确说明。

尽管存在这些问题,但整体思路正确,能够找到目标元素。

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

得分:2分

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

题目总分:2+6+2=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发