今天题目不难,有很多种方法查找,最简单的当然是遍历数组,如下:
int search(int* nums, int numsSize, int target){
for(int i=0;i<numsSize;++i){
if(nums[i]==target){
return i;
}
}
return -1;
}
然后用今天讲的二分查找做一遍:
int search(int* nums, int numsSize, int target){
int l=0;int r=numsSize-1;
while(l<=r){
int mid=(l+r)/2;
if(nums[mid]==target){
return mid;
}else if(nums[mid]>target){
r=mid-1;
}else{
l=mid+1;
}
}
return -1;
}
以上。