在升序数组中查找第一个大于等于 x 的位置,下面循环中横线应填( )。
int lowerBound(const 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. 1 r = mid;
- B. 1 r = mid - 1;
- C. 1 l = mid;
- D. 1 l = mid + 1;
正确答案:A