二分细节的处理
作者:互联网
本来了解了二分的思路以为自己会了,结果手撕代码的时候发现好多细节的处理不太熟悉。
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