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