import java.util.*;

public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 如果目标值存在返回下标,否则返回 -1 * @param nums int整型一维数组 * @param target int整型 * @return int整型 */ public int search (int[] nums, int target) { return search1(nums,0,nums.length-1,target); // write code here } public static int search1(int[] nums,int left,int right ,int target){ if(left>right){ return -1; } int mid=(left+right)/2; int midval=nums[mid]; if(midval<target){ return search1(nums,mid+1,right,target); }else if(midval>target){ return search1(nums,left,mid-1,target);

    }else {//这里就是nums[mid]==target
        while(mid >= 1 && nums[mid-1] == target ){
                mid--;
            
            }//这里mid必须大于1得原因是防止nums[mid-1]<0
            return mid;
    }
}

}