#3404. [GESP202406 五级 C++] 第 11 题

[GESP202406 五级 C++] 第 11 题

根据下述二分查找法,在排好序的数组 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
}

{{ select(1) }}

  • 52, 61, 81, 90
  • 52, 79, 90, 81
  • 39, 79, 90, 81
  • 39, 79, 90