在一个有序数组中查找第一个大于或等于 x 的元素位置(lower_bound),横线处应填写( )。
int lowerBound(vector<int>& a, int x) {
int l = 0, r = a.size();
while (l < r) {
int mid = l + (r - l) / 2;
if (a[mid] >= x) ______________; // 在此处填入代码
else l = mid + 1;
}
return l;
}
- A. r = mid + 1
- B. r = mid - 1
- C. r = mid
- D. l = mid
正确答案:C