文章

7

粉丝

0

获赞

0

访问

919

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

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

1)index 为数组偏移量 因为相邻元素一定相邻所以 如果这个元素和下个元素相同,index+2,直到匹配到不同为止。

2)

#include <iostream>
using namespace std;

int findSingleElement(const int A[], int n) {
    // 检查输入有效性
    if (n <= 0) return -1; // 返回-1表示错误
    
    int index = 0;
    
    while (index < n - 1) {
        // 如果当前元素与下一个元素相同,跳过这两个元素
        if (A[index] == A[index + 1]) {
            index += 2;
        } else {
            // 找到唯一出现一次的元素
            return A[index];
        }
    }
    
    // 如果循环结束还未返回,说明最后一个元素是唯一出现一次的元素
    return A[n - 1];
}

3)O(n) 因为数组的最大长度为n


评分及理由

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

得分:3分

理由:学生的设计思想与标准答案一致,都是通过遍历数组并比较相邻元素来找到唯一出现一次的元素。思路清晰且正确。

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

得分:8分

理由:学生的代码实现与标准答案功能一致,逻辑正确。代码中包含了输入有效性检查,虽然题目未明确要求,但这是一个良好的编程习惯。关键注释清晰,代码结构合理。

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

得分:2分

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

题目总分:3+8+2=13分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发