lower_bound 小知识

因为今天被lower_bound坑了,找了一年bug,发现他的一个性质

a[1]=3;
a[2]=5;
a[3]=100;
int x=*lower_bound(a+1,a+1+2,6);
a[3]=0;
cout<<x<<endl;
x=*lower_bound(a+1,a+1+2,6);
cout<<x<<endl;

发现第一个\(x\)为\(1000\),第二个\(x\)为\(0\)

也就是说如果\(a[n]< x\) 那么就会返回\(a[n+1]\)的值

我还一直以为就直接返回\(a[n]\)呢

又水了一篇博客(不是

上一篇:papamelon 257. 下界 lower_bound(挑战程序设计竞赛)


下一篇:java程序设计精编教程微课版,阿里P7亲自教你