AcWing算法基础课 二分查找
二分查找的本质是寻找一个性质,使数组的左侧全不满足,右侧全满足(或左侧全满足,右侧全不满足)。
查找的结果是最后一个或第一个满足的点(左侧区间最右或右侧区间最左)
根据两种情况,有不同的check()、mid、l、r写法
查左侧区间最右
mid=(l+r+1)>>1;
if(check(mid))
l=mid;
else
r=mid-1;
查右侧区间最左
mid=(l+r)>>1;
if(check(mid))
r=mid;
else
l=mid+1;
例题 AcWing 789数的范围