使用条件:一维有序数组
查找思想:折半 + 夹逼查找
通过数组array起始位置left和结束位置right折半找到中间位置mid,即mid =(left + right)/2;比较目标值target与mid处数组元素的大小,
(1)若target == array[mid],返回mid;
(2)若target < array[mid],说明目标值在left到mid区间内,再按照折半方法在left至mid区间内查找;
(3)反之,即target > array[mid],说明目标值target在mid至right区间范围内,按照折半方法在mid至right区间内查找。
(4)重复(2)(3),直到满足结束条件。
查找结束条件:找到目标值或指向数组起始位置的指针left大于指向数组结束位置的指针right。
返回值:找到目标值target,返回该值在数组中的下标;
未找到target,返回-1。
时间复杂度:O()=O(logn)。