其他分享
首页 > 其他分享> > 二分细节的处理

二分细节的处理

作者:互联网

本来了解了二分的思路以为自己会了,结果手撕代码的时候发现好多细节的处理不太熟悉。

1.while循环条件何时为right>=left,何时为right>left

 

 

 

 

2.a[mid]<target时right何时取mid-1何时取mid

还是上面所述闭区间开区间的问题,当闭区间时右边界可以取到,mid已经排除过,故r=mid-1,当开区间时右边界取不到故r=mid

3. mid值最好用 left+(right-1)/2求,因为用(left+tight)/2求时(left+right)的值容易溢出。

标签:二分,right,处理,mid,细节,时右,开区间,left
来源: https://www.cnblogs.com/gbnb/p/14751704.html