public static int search(int[] nums, int num) {
int low = 0;//初始位置索引
int high = nums.length - 1;//数组最大位置索引
while (low <= high) {
//每次算出low与high的中间位置索引
int nid = (low + high) / 2;
if (num > nums[nid]) {//如果该数大于中间值
low = nid + 1;//low往high方向减少范围
} else if (num < nums[nid]) {
high = nid -1;//high往low方向减少范围
} else {
return nid;//找到索引
}
}
return -1;
}
“`