给定一个数组int [ ] nums,有序的(升序),并且给定一个target,在数组中找到这个target的下标值
public static int search(int[] nums, int target) {
int left = 0;
int right = nums.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2; //防止溢出
if (nums[mid] < target) {//这里说明他是目标值比中间值大,所以向右查找
left = mid + 1;
} else if (nums[mid] > target) { //中间值比目标小,向左查找
right = mid - 1;
} else {
return mid; //最终找到之后,就会进行返回
}
}
return -1; //未找到数据,就返回-1;
}