二分查找是一种高效的查找方法。
要求待查表为有序表。
public int binarySearch(int[] nums, int target) {
int start=0;
int end=nums.length-1;
int mid;
while(start+1<end){
mid=start+(end-start)/2;
if(nums[mid]==target){
end=mid;
}else if(nums[mid]<target){
start=mid;
}else if(nums[mid]>target){
end=mid;
}
}
if(target==nums[start]){
return start;
}
if(target==nums[end]){
return end;
}
return -1;
}