GESP 五级 · GESP 202406 C++ 五级 第 11 题

选择题 · 答案 C · 考点:二分查找、模拟

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

题目

根据下述二分查找法,在排好序的数组 1, 3, 6, 9, 17, 31, 39, 52, 61, 79, 81, 90, 96 中查找数值 82,和82比较的数组元素分别是( )。

int binary_search(vector<int>& nums, int target) {
    int left = 0;
    int right = nums.size() - 1;
    while (left <= right) {
        int mid = (left + right) / 2;
        if (nums[mid] == target) {
            return mid;
        } else if (nums[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
    return -1; // 如果找不到目标元素,返回-1
}
答案:C

考点

二分查找 讲解 →二分查找 真题汇总 →模拟 讲解 →模拟 真题汇总 →

解题思维

仔细审题,明确已知条件和所求目标,运用相关知识点逐项分析。

常见错误

审题时注意题目要求(选正确还是选错误),避免因审题不清失分。涉及代码的题目要逐行分析变量变化。

详细解析(节选)

【考点】二分查找|模拟执行|循环终止条件

1. 🎯 考纲定位

GESP 五级 算法模块 二分查找。命题人卡住的是"只会写代码不会 Trace"的选手——五级不再考模板填空,改成了考你手能不能跟上机器的步调。

同考点真题

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