二分查找用于搜索目标值在排序数组中的位置,时间复杂度\(O(logn)\)。
int l = 1, r = n; while(l <= r) { int m = l + ((r - l) >> 1); if(check(m)) l = m + 1; else r = m - 1; } // l or r