二分算法
一. 算法模板
int binarySearch (int l, int r) {
while(l < r){
int mid = l + r >> 1;
if(check(mid)) r = mid;
else l = mid + 1;
}
return l;
}
当更新 l 的时候需要加 1
int binarySearch (int l, int r) {
while(l < r){
int mid = l + r + 1 >> 1;
if(check(mid)) l = mid;
else r = mid - 1;
}
return l;
}