分析
二分查找的前提:
- 数组有序
- 数组无重复
二分查找的代码要点:
while循环时的区间要保持一致! 比如target是在左闭右闭区间就要一直坚持这个原则、
最基础的二分写法
严格限制序列单调递增/无重复,且只要求返回下标
var search = function(nums, target) {let left =0let right =nums.length -1// 左闭右闭的区间while(left<=right){// 左距离+区间长度的一半,向下取整let 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};
二分的各种变型

