数组中有序排序,无重复元素。
循环条件是 leftPara <= rightPara.
在确定中间值的时候,为了防止溢出,一般用 mid = left + (right - left)/2;
缩小区间是要+1 或者 -1.
return 之后程序就结束了
如果在数组中没有找到该元素,插入位置为right + 1
三种情况:
1. 在数组最前端,当middle = 0 且位置为0的元素比target大, right 会 - 1 变成 - 1.
2. 在数组最后端,当middle = length - 1 且位置为length - 1 的元素比target小, right.一直不变,为length - 1.
3. 在数组中,会出现情况1, 情况2类似的情况.
right + 1 都会返回正确的插入位置
在排序数组中查找元素的第一个和最后一个位置
设置初始的位置都为-2;
有三种情况:
1. 查找的元素比数组的最小值小或者比数组的最大值大,初始元素中总有一个位置是-2。
2. 查找的元素数组中有,那么右坐标要比左坐标的索引大1以上。
3. 查找的元素数组中没有,右坐标比左坐标大1.
求一个非负整数的算术平方根
二分法找这个数,要注意乘法的溢出。