- 写成left < right 形式,其中 左中适合mid分给左区间,即区间分为[left, mid] , [mid + 1, right]; 右中适合mid分给右边,即区间分为[left, mid - 1],[mid, right]
while(left < right )
{
int mid = left + (right - left)/2;//左中
if(contition)
left = mid + 1;
else
right = mid;
}
while(left < right )
{
int mid = left + (right - left + 1)/2;//左中
if(contition)
left = mid;
else
right = mid - 1;
}