在升序数组中查找第一个严格大于 x 的元素位置,下面代码中的横线应填写( )。
int upperBound(const vector<int> &a, int x) {
int l = 0, r = (int)a.size();
while (l < r) {
int mid = l + (r - l) / 2;
if (__________________) {
l = mid + 1;
} else {
r = mid;
}
}
return l;
}
- A.
a[mid] < x - B.
a[mid] >= x - C.
a[mid] <= x - D.
a[mid] > x