力扣题目704.二分查找
什么是二分查找,通俗来说:
二分查找适用于按升序或降序排列的数组
查找开始时需定义左右两个指针
取左右指针中间值
通过比较中间值与目标值大小,进行指针的移动
中间值比目标值大,右指针移动到mid-1
中间值比目标值小,左指针移动到mid+1
如果mid的值等于目标值
返回该数值即为查找对象
重复上述步骤
没有目标值则返回-1或false
js核心代码如下:
let nums=[];
let target;
var search = function(nums, target) {
var left = 0;
var right = nums.length - 1;
while(left<=right){
var mid = left+Math.floor((right-left)/2);
if(nums[mid] >target){
right = mid-1;
}
else if(nums[mid] < target){
left = mid+1;
}
else{
return mid
}
}
return -1;
}