因为今天被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]\)呢
又水了一篇博客(不是