public class Main3 {
public static void main(String[] args) {
System.out.println(search(new int[]{0,1,2,3,4,5,6,7,8},8));
System.out.println(search(new int[]{0,1,2,3,4,5,6,7,8,9,10},3));
System.out.println(search(new int[]{0,1,2,3,4,5},1));
}
public static int search(int[] array,int target){
int high=array.length-1;
int low=0;
int min=(low+high)/2;
int index=-1;
while (low<=high){
if(low==high){
index=low;
break;
}
min=(low+high/2)<high?(low+high/2):high;
index=min;
if(array[min]==target){
break;
}
else if(array[min]<target){
index=(min+1)+high/2;
low=min+1;
}
else if(array[min]>target){
index=low+(min-1)/2;
high=min-1;
}
}
return index;
}
}