具有单调性的一定可以用二分,能用二分的不一定单调。 只要可以将一组数据分成两部分,其中一半满足某种性质check(mid),另一半不满足。(比如>=x)就可以使用二分, 求出左边的右边界,右边的左边界。 例如 数的范围这道题,找数字x的左边界时,就定义check(mid)为:a[mid]>=x;找右边界就定义为a[mid]<=x; 想象一下数轴上的范围。