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

选择题 · 答案 C · 考点:分治算法、贪心算法、算法

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

题目

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

int find_max_recursive(const vector<int>& nums, int left, int right) {
    if (left == right)
        return nums[left];

    int mid = left + (right - left) / 2;
    int left_max = find_max_recursive(nums, left, mid);
    int right_max = find_max_recursive(nums, mid + 1, right);

    return max(left_max, right_max);
}

int find_max(const vector<int>& nums) {
    if (nums.empty()) {
        throw invalid_argument("输入数组不能为空");
    }
    return find_max_recursive(nums, 0, nums.size() - 1);
}
答案:C

考点

分治算法贪心算法 讲解 →贪心算法 真题汇总 →算法

解题思维

逐项分析每个选项,利用C++语法规则和算法知识判断正误。注意隐含条件(如整型溢出、栈溢出)。

常见错误

注意题目问的是"错误的是"还是"正确的是",避免看反。选项中若有绝对化表述通常错误。

详细解析(节选)

【考点】分治算法|递归实现|贪心算法|递推算法

1. 🎯 考纲定位

五级算法设计与分析模块,重点考查算法思想辨析能力。命题人卡住的是考生对"递归≠递推"的认知混淆——许多学员看到函数自调用就下意识往动态规划方向想,却忽略了递归分治与递推(自底向上)的本质差异。

同考点真题

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