1.思路
- 从数组的中间元素开始,如果中间元素正好是目标值,则搜索结束
- 如果目标值大于或者小于中间元素,则在大于或者小于中间元素的那一半数组中搜索
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var search = function(nums, target) {
let low = 0;
let high = nums.length - 1;
while( low <= high ) {
const mid = Math.floor((low + high) / 2);
const element = nums[mid];
if(element < target) {
low = mid + 1;
}else if (element > target) {
high = mid -1;
}else {
return mid;
}
}
return -1;
};