编辑代码

public class Main3 {
    public static void main(String[] args) {
        //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
//        System.out.println("Hello world!   - java.jsrun.net ");
       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;
            // System.out.println(low+" main:"+min+" "+high);
            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;
    }
}