给定一个长度为$n$的有序数组nums,其中可能包含重复元素。下面的函数返回数组中某个元素target的 左边界,若数组中不包含该元素,则返回−1。例如在数组nums = [5,7,7,8,8,10]中查找target=8,函数返回$8$在数组中的左边界的索引为$3$。则横线上应填写的代码为( )。

ju546144 单选题 共 个子题
int getLeftBoundary(vector<int>& nums, int target) {
    int left = 0;
    int right = nums.size() - 1;

    while (left < right) {
        int middle = left + ((right - left) / 2);
        if (target <= nums[middle])
            ________________________________ // 在此处填入代码
        else
            left = middle+1;
    }

    return nums[left]==target?left:-1;
}
A

right = middle - 1;

B

right = middle;

C

right = middle + 1;

D

以上都不对

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧