题源力扣:
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
二分查找时间复杂度O(logn)
class Solution {
public:
int search(vector<int>& nums, int target) {
int high=nums.size()-1,low=0;
while(low<=high){
int mid=(high+low)/2;
if(nums[mid]>target){
high=mid-1;
}
else if(nums[mid]<target){
low=mid+1;
}
else
return mid;
}
return -1;
}
};