一:用于查找整个序列中第一个符合条件的下标:
while (l < r){
int mid = l + r >> 1;
if (check(mid) < x) l = mid + 1;
else r = mid;
}
二:用于查找最后一个符合条件的下标:
while (l < r){
int mid = l + r + 1 >> 1;
if (check(mid) <= x) l = mid;
else r = mid - 1;
}
一:用于查找整个序列中第一个符合条件的下标:
while (l < r){
int mid = l + r >> 1;
if (check(mid) < x) l = mid + 1;
else r = mid;
}
二:用于查找最后一个符合条件的下标:
while (l < r){
int mid = l + r + 1 >> 1;
if (check(mid) <= x) l = mid;
else r = mid - 1;
}