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

A22006. 下⾯代码尝试在有序数组中查找第⼀个⼤于等于 x 的元素位置。如果没有⼤于等于 x 的元素,返回arr.size() 。以下说法正确的是( )。int lower_bound(vector<int>& arr, int x) { int l = 0, r = arr.size(); while(l < r) { int mid = l + (r - l) / 2; if(arr[mid] >= x…

单选题 困难

题目描述

下⾯代码尝试在有序数组中查找第⼀个⼤于等于  x 的元素位置。如果没有⼤于等于  x 的元素,返回arr.size() 。以下说法正确的是(    )。

int lower_bound(vector<int>& arr, int x) {
    int l = 0, r = arr.size();
    while(l < r) {
        int mid = l + (r - l) / 2;
        if(arr[mid] >= x) r = mid;
        else l = mid + 1;
    }
    return l;
}

选项(单选)

上一题 下一题