704.二分查找
思路
- 创建三个指针,分别指向第一个,最后,中间位置
- 通过while循环里面,通过不断判断两边指针指向数字与中间指针指向数字的大小,更新左右两边指针指向的位置
- 循环结束后,返回
int search(int* nums, int numsSize, int target) {
int first=0;
int last=numsSize-1;
while(first<=last)
{
int middle=(first+last)/2;
if(nums[middle]>target)
{
last=middle-1;
}
else if(nums[middle]<target)
{
first=middle+1;
}
else
{
return middle;
}
}
return -1;
}