标签:blog ar div log c as bs r return
int BSearch() { int ln(1),rn(n+1); while(ln+1<rn) { int mid=(ln+rn)>>1; if (Check(mid)) { ln=mid;
//mid符合标准,区间变为[mid,rn) } else { rn=mid;
//区间变为[ln,mid) } } //结束的区间为[ln,ln+2) if (Check(ln+1)) return ln+1; else return ln; }
实现的很不优美...但是不知道如何不加最后的IF而做到返回>val的最小下标
标签:blog ar div log c as bs r return
原文地址:http://www.cnblogs.com/dandi/p/3952203.html