题目
给定一个有序的数组,和一个数字,进行查找
思路
- 获得最小和最大数组索引,计算中间值。
- 进行二分依次查找
代码实现
public static boolean find(int[] input,int x){
int min=0;
int max=input.length-1;
//这里是小于等于
while(min<=max){
int id=(min+max)/2;
int find=input[id];
if(x>find){
//进行加1操作
min=id+1;
}else if(x<find){
//进行减1操作
max=id-1;
}else{
return true;
}
}
return false;
}