import java.util.*;
public class Solution {
public int search (int[] nums, int target) {
//数组的左右两边下标
int left = 0;
int right = nums.length-1;
//获取中间下标int类型省略小数,直接取整;
while(left<=right){
int mid = (right+left)/2;
//如果中间值直接等于target,直接return
if(target == nums[mid]){
return mid;
}else if(target > nums[mid]){
//目标值target>中间值,在中间至的右侧,重新划定区间在[mid+1,right]
left = mid+1;
}else{
//目标值target<中间值,在中间至的左侧,重新划定区间在[left,mid-1]
right = mid-1;
}
}
return -1;
}
}

京公网安备 11010502036488号