二分查找
很简单也很实用的一个算法
前提:数组中的元素要有序
public static int binarySerach(int[] arr,int key){
int lo = 0;
int hi = a.length - 1;
while (lo <= hi) {
int mid = lo + (hi - lo) / 2;
if (a[mid] < key) lo = mid + 1;
else if (a[mid] > key) hi = mid - 1;
else return mid;
}
return -1;
}