二分查找通用的模板
int mid = (left + right) / 2
容易溢出
二分查找的通用模板
int mid = (left + right) >>> 1 ;
使用“左边界索引 + 右边界索引”,然后“无符号右移 11 位”是推荐的写法。
循环可以进行的条件写成 while (left <= right)
时,在退出循环的时候,需要考虑返回 left
还是 right
(1)首先把循环可以进行的条件写成 while(left < right),在退出循环的时候,一定有 left == right 成立,此时返回 left 或者 right 都可以
[图片上传失败...(image-69a07b-1565422458907)]
[图片上传失败...(image-e0b9cc-1565422458907)]
[图片上传失败...(image-536611-1565422458907)]
[图片上传失败...(image-dfe4a2-1565422458907)]
[图片上传失败...(image-4c84a3-1565422458907)]
[图片上传失败...(image-8c4dd2-1565422458907)]
[图片上传失败...(image-9d999-1565422458907)]
[图片上传失败...(image-78c8b1-1565422458907)]
[图片上传失败...(image-af4389-1565422458907)]
[图片上传失败...(image-7ac669-1565422458907)]
[图片上传失败...(image-cc4dea-1565422458907)]
[图片上传失败...(image-996238-1565422458907)]
[图片上传失败...(image-262388-1565422458907)]
[图片上传失败...(image-b97c84-1565422458907)]
网友评论