二分查找算法

 public int binarySearch(int[] nums, int target) {
    //初始化搜索区间[left,right]
    int left = 0, right = nums.length - 1;
    int ans = -1;
    while (left <= right) {
        int mid = (left + right) / 2;
        //mid的值符合条件
        if(nums[mid] == target){ 
        	ans=mid;
            //...可能会有其他操作,若没有直接return
        }
        //缩小搜索区间
        if (nums[mid] > target) {//锁定左半区间
            right = mid - 1;
        } else {//锁定右半区间
            left = mid + 1;
        }
    }
    return ans;
}

posted @ 2021-12-18 20:15  Lucky_龍  阅读(42)  评论(0)    收藏  举报