import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型一维数组 
     * @param target int整型 
     * @return int整型
     */
    public int search (int[] nums, int target) {
        if(nums.length!=0){
		  //初始化前中后三个变量
            int start=0;
            int end =nums.length-1;
            int mid=(start+end)/2;
            while(true){
			  //判断target是否在前中后三个变量中
                if(nums[start]==target){
                    return start;
                }
                if(nums[end]==target){
                    return end;
                }
                if(nums[mid]==target){
                    return mid;
                }
			  //若前与后指针相交或相等则跳出循环
                if(start>=end){
                    return -1;
                }
			  //缩小范围,重置前中后下标
                if(target<nums[mid]){
                    end=mid-1;
                    mid=(start+end)/2;
                }
                if(target>nums[mid]){
                    start=mid+1;
                    mid=(start+end)/2;
                }
            }

        }
        return -1;
    }
}