代码随想录 数组 1 二分查找
查找目标值通过:
缩小区间,比较
通过中间值mid砍掉一半的范围
也是通过中间值mid和两边的指针left,right的比较来看有没有目标值
如果mid=其一,则查到;否则没查到
class Solution {
public:
int search(vector<int>& nums, int target) {
int left=0;
int right=nums.size()-1;
while(left<=right){
int middle=(right+left)/2;
if(nums[middle]>target){
right=middle-1;
}else if(nums[middle]<target){
left=middle+1;
}else{
return middle;
}
}
return -1;
}
};