GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2024年12月 › 第11题

GESP 2024年12月 C++五级 单选题 第11题

C++五级单选题2024年12月第11题

所属知识点:复杂度分析 难度要求:掌握 考频:—

给定一个长度为的有序数组 nums ,其中所有元素都是唯一的。下面的函数返回数组中元素 target 的索引。 关于上述函数,描述不正确的是( )。
int binarySearch(vector<int> &nums, int target, int left, int right) {
if (left > right) {
return -1;
}
int middle = left + ((right - left) / 2);
if (nums[middle] == target) {
return middle;
}
else if (nums[middle] < target) {
return binarySearch(nums, target, middle + 1, right);
}
else
return binarySearch(nums, target, left, middle - 1);
}
}
int Find(vector<int> &nums, int target) {
int n = nums.size();
return binarySearch(nums, target, 0, n - 1);
}

正确答案:C

题目解析
问错误说法。二分递归的终止条件是 left>right,不包含目标时也会终止(返回 −1),C 说“不会终止”错误。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习