题解 | #二分查找-I#
二分查找-I
https://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47b
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * @param nums int整型一维数组 * @param target int整型 * @return int整型 */ public int search (int[] nums, int target) { // 确定边界,注意这里 j 指向的是不存在的元素 int i = 0, j = nums.length; while ( i < j ){ int m = (i+j) >>>1 ; // 目标值在中间值的右边,扩大i的边界 if(nums[m]< target){ i = m + 1; }else if(target < nums[m]){ // 目标值在中间值的左边,缩小j的边界,注意由于j 指向的是不存在的元素,所以这里需为m j = m; }else{ return m; } } return -1; } }