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

GESP 2024年9月 C++五级 单选题 第13题

C++五级单选题2024年9月第13题

所属知识点:查找与二分 难度要求:掌握 考频:—

根据下述二分查找法,在排好序的数组 1,3,6,9,17,31,39,52,61,79 中查找数值 31 ,循环 while (left <= right) 执行的次数为( )。
int binary_search(vector<int>& nums, int target) {
int left = 0;
int right = nums.size() - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (nums[mid] == target) {
return mid;
}
else if (nums[mid] < target) {
left = mid + 1;
}
else {
right = mid - 1;
}
}
return -1; // 如果找不到目标元素,返回-1
}

正确答案:C

题目解析

对 31 二分查找:mid 依次为 17、52、31,第 3 次命中,循环执………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

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

进入 GESPPASS 开始练习