题目描述
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
问题分析
确定左右界,然后按规则进行更新即可
代码
int search(int* nums, int numsSize, int target) {int left = 0;int right = numsSize-1;int middle = (left+right)/2;while(left<=right){if(nums[middle]==target){return middle;}else if(nums[middle]<target){left = middle+1;middle = (left+right)/2;}else{right = middle -1;middle = (left+right)/2;}}return -1;
}