最佳解决方案
datas必须是有序列表
public static int search(Integer[] datas,int dest){
int start = 0;
int end = datas.length -1 ;
while(start <= end) {
int middle = (end + start) >>> 1;
if(dest == datas[middle]) {
return middle;
} else if(dest < datas[middle]) {
end = middle - 1;
} else if(dest > datas[middle]) {
start = middle + 1;
}
}
return -1;
}