脑子不太好使,有时候像我这种菜鸟面试的时候,可能会出这样的编程题,所以写下来记一下!
package com.lanqiao.facetest;
public class TestSqu {
public static void main(String[] args) {
int[] array = {10,20,32,51,84,96,102,125,164};
int i = 20;
int index = squ(array,i);
if(index!=-1){
System.out.println("该数在数组的第"+(index+1)+"的位置");
}else{
System.out.println("该数在数组中不存在!");
}
}
public static int squ(int[] array,int i){
int len = array.length;
int low = 0;
int height = len-1;
int mid = 0;
while(low<height){
mid = (low+height)/2;
if(array[mid]==i){
return mid;
}else if(array[mid]<i){
low=mid+1;
}else{
height=mid-1;
}
}
return -1;
}
}