var search = function(nums, target) {
let l = 0, r=nums.length-1,mid;
while(l<=r){
mid = l + ((r-l)>>1);
if(nums[mid] < target) l = mid+1;
if(nums[mid] > target) r = mid-1;
if(nums[mid] == target) return mid;
}
return -1;
};
2.在有序数组中找>=某个数a最左侧的位置
var search = function(nums, target) {
let l = 0, r=nums.length-1,mid,res;
while(l<=r){
mid = l + ((r-l)>>1);
if(nums[mid] < target) l = mid+1;
if(nums[mid] > target) r = mid-1;
if(nums[mid] == target){
if(nums[mid-1] != target){
res = mid;
}
};
}
return res;
};
var searchRange = function(nums, target) {
let l=0,r=nums.length -1,mid;
while(l<=r){
mid= l + ((r-l)>>1);
if(nums[mid]<target) l = mid + 1;
if(nums[mid]>target) r = mid - 1;
if(nums[mid] == target) break;
}
let leftIndex= mid,rightIndex =mid;
while(nums[mid] == nums[leftIndex-1]) leftIndex--;
while(nums[mid] == nums[rightIndex+1]) rightIndex++;
return [leftIndex,rightIndex];
};