前端企业面试题:企业真实案例——29
程序员文章站
2022-06-04 14:43:46
...
实现一个二分法查找
var searchInsert = function(nums, target) {
//确定左右边界索引
let min = 0;
let max = nums.length-1;
while(min <= max) {
let midIndex = (min+max)>>1; //向右移位,等价于除以2取整
//找到了直接返回
if( target == nums[midIndex] ) return midIndex;
//目标值比中间值大,最左边界从中间右移一位
if( target > nums[midIndex] ) min = midIndex+1;
//如果目标值比中间值小,最右边界从中间左移一位
else max = midIndex-1;
}
return min; //没找到时,则min==max,直接返回即可
};
上一篇: 前端企业面试题:企业真实案例——33
下一篇: 炒盐加中药 熨敷解痛经