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;
      }
posted @ 2020-10-08 11:51  SANSIJENNIE  阅读(79)  评论(0)    收藏  举报