测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A33249. 给定序列:1,3,6,9,17,31,39,52,61,79,81,90,96。使用以下代码进行二分查找查找元素 82时,需要循环多少次,即最后输出的 times 值为( )。int binarySearch(const std::vector<int>& arr, int target) { int left = 0; int right = arr.size() - 1; int times…

单选题 困难

题目描述

给定序列:1,3,6,9,17,31,39,52,61,79,81,90,96。使用以下代码进行二分查找查找元素 82时,需要循环多少次,即最后输出的 times 值为(     )。

int binarySearch(const std::vector<int>& arr, int target) {

int left = 0;

int right = arr.size() - 1;

int times = 0;

while (left <= right) {

times ++;

int mid = left + (right - left) / 2;

if (arr[mid] == target) {

cout << times << endl;

return mid;

} else if (arr[mid] < target) {

left = mid + 1;

} else {

right = mid - 1;

}

}

cout << times << endl;

return -1;

}

选项(单选)

上一题 下一题