若数组 a 已按升序排列,则下面代码可以正确实现“在 a 中查找第一个大于等于 x 的元素的位置”。
a
x
int lowerBound(vector<int>& a,int x){ int l=0, r=a.size(); while(l < r) { int mid = (l + r) / 2; if( a[mid] >= x) r = mid; else l = mid + 1; } return l; }
正确 √
错误 ×