/**
*
* @param nums 有序数组
* @param target 查找的值
* @return 返回查找的值在数组中的索引,有则返回,无则返回-1
*
*/
public static int getIndex(int[] nums,int target){
//获取数组边界值
int min = 0;//左
int max = arr.length-1;//右
//循环语句
while(min <= max) {
//获取数组二分索引值
int mid = (min+max)/2;
//通过二分索引值获取去数组中的值,判断是否与查询值相等,相等则直接返回二分索引值
if(nums[mid] == target) {
return mid;
//通过二分索引值获取去数组中的值,判断是否大于查询的值,大于的话,右边边界值,中间值减1
}else if(nums[mid] > target) {
max = mid - 1;
}else{
//通过二分索引值获取去数组中的值,该值既不大于也不等于查询的值,只有小于的这种可能话,左边边界值,中间值加1
min = mid + 1;
}
}
//查询的值不在数组中,返回-1
return -1;
}
10-12