最大值最小化,即二分区间为[l,mid]与 [mid+1,r]:
while(l<r)
{
int mid=(l+r)/2;
if(check(mid))
{
r=mid;
}
else
{
l=mid+1;
}
}
最小值最大花,即二分区间为[l,mid-1] 与[mid,r]:
while(l<r)
{
int mid=(l+r+1)/2;
if(check(mid))
{
l=mid;
}
else
{
r=mid-1;
}
}