0
我一个小白到C++,我对面这个代码LOWER_BOUND(v.begin(),v.end()中,x)
x = v[lft]+k;
low = lower_bound(v.begin(), v.end(), x) - v.begin();
if(low >= n|| v[low] > x)
low--;
center = v[low];
如果x不是存在于载体中时,它返回来一个大于矢量大小的值。这是正当的搜索是否low >= n
,但我无法弄清楚在这种情况下,这种情况v[low] > x
satisy应该是low
是一个索引,其中x是存在的,所以如何有一个值大于x?
这个问题必须被要求各地一千遍就在这样的! – gsamaras
从['std :: lower_bound'](http://en.cppreference.com/w/cpp/algorithm/lower_bound)的文档:*“返回一个迭代器,指向范围[first,last )即**不小于**(即大于或等于)值。“* – StoryTeller