题解 | #二分查找-I#
二分查找-I
http://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) { // write code heret int left=0,right=nums.length-1; while(left<=right){ int mid=left+(right-left)/2; if(nums[mid]==target){ return mid; } else if(nums[mid]>target) { right=mid-1; } else { left=mid+1; } } return -1; } }
当数组【0,1】,1时while条件里面的left《=right使得当left=right时,mid和right和left可以相等,从而不会跳出while循环返回-1.