二分查找:
非常关键的算法,可变性非常强,建议好好学学,以下为一个笔试题
题目:查找有序数组中元素的位置,如果有则返回,如果没有则返回插入的位置
public static int binarySearch(int[] arr,int target){
int l=0;
int r=arr.length-1;
while(l<=r){
int mid=l+(r-l)/2;
if(target>arr[mid]){
l=mid+1;
}else if(target<arr[mid]){
r=mid-1;
}else if(target==arr[mid]){
return mid;
}
}
return r+1;
}