
分析:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。可以根据二分法查找进行解题
public static int search(int arr[], int find) {
//声明变量存数组最小索引和最大索引及中间索引(二分法)
int max = arr.length - 1;
int min = 0;
int mid = (max + min)/2;
while (min <= max) {
if (find > arr[mid]) {//如果要找的数大于中间索引
min = mid + 1;
mid=(min+max)/2;
} else if(find < arr[mid]) {//如果要找的数小于中间索引
max = mid - 1;
mid=(min+max)/2;
} else {
return mid;//找到了目标下标
}
}
return min;//没找到则返回其位置最小的下标,即为它按顺序插入的位置
}
来源:CSDN
作者:澄明_cmit888
链接:https://blog.csdn.net/weixin_46175424/article/details/104631781