import java.util.*;

public class Solution {

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums int整型一维数组 
 * @param target int整型 
 * @return int整型
 *1. 数组为null时,返回-1;
 *2. 数组长度为1时,直接比较后返回,如:return nums[i]==target?i:-1;
 *3. 长度>1时,找到中间位置的数,和target比较;若相等,直接返回mid值,否则重新查找中间值继续比较
 */
public int search (int[] nums, int target) {

    if(nums.length==0) return -1;  //数组长度为0
    int i=0,j=nums.length-1;
    while(i<j){
        int mid =(i+j)/2; //中间值的位置
        if(nums[mid]<target)i=mid+1;
        if(nums[mid]>target)j=mid-1;
        if(nums[mid]==target) return mid; 
    }
    return nums[i]==target?i:-1; //数组长度为1
    
}

}