GESP 五级 · GESP 202506 C++ 五级 第 10 题

选择题 · 答案 D · 考点:函数

← 整套速查表 GESP 五级 全部真题

题目

下面的 C++ 代码,用于求一系列数据中的最大值。有关其算法说法错误的是( )。

int find_max(const vector<int>& nums) {
    if (nums.empty()) {
        throw invalid_argument("输入数组不能为空");
    }

    int max_value = nums[0];
    for (int num : nums) {
        if (num > max_value) {
            max_value = num;
        }
    }
    return max_value;
}
答案:D

考点

函数

解题思维

分析时间复杂度时关注循环层数和每层迭代次数,递归算法则分析递归树。注意最坏/最好/平均情况的区别。

常见错误

分析复杂度时注意外层循环和内层循环的关联。例如内外两层都到n的循环不一定是O(n²),要看内层是否每次都在缩小。

详细解析(节选)

【考点】向量容器|容器操作|函数重载与模板

1. 🎯 考纲定位

本题考查 GESP 五级 C++ 大纲中的向量容器(第 13 章)、容器操作(第 14 章)、函数重载与模板(第 25 章)。命题人卡住的是学生混淆 vector 与 array 空间性质的弱点——很多孩子背了"数组空间 O(1)"却忘了 vector 是动态数组需额外空间。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断