Java 二分查找的非递归方法(反思)
唉,很简单的方法,却废了老劲儿才写对,记录下来为了给自己提个醒,警戒一下自己,希望下一阶段保持现在的状态!
使用二分查找的条件是数组必须是有序的,否则不可以应用二分查找;
二分查找可以有效地(O(n)=logn)获取数组中是否存在目标值,以及可以通过修改函数类型来获取目标值的索引。
public boolean binarySearch(int[] nums, int target){
int len = nums.length;
int start=0, mid=0, end=len-1;
while (start<=end){
mid = start + (end - start)/2;
if (nums[mid]==target) return true;
else if (nums[mid]>target) end = mid-1;
else start = mid+1;
}
return false;
}

浙公网安备 33010602011771号