class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @param target int整型 
     * @return int整型
     */
    int  binarysearch(vector<int>& nums,int left ,int right,int target){
        if(left>right){
            
                return -1;
            
        }

        int mid = left+((right-left)/2);
        if(nums[mid]==target){
            return mid;
        }
        if(nums[mid]<target){
            //left = mid+1;
            return binarysearch(nums,mid+1,right,target);

        }
       else{
            //right = mid-1;
            return binarysearch(nums,left,mid-1,target);
            
        }
        //return -1;
    }
    int search(vector<int>& nums, int target) {
        int n = nums.size();
        if (n==0){
            return -1;
        }
        int left =0;int right = n-1;
        int res = binarysearch(nums,left,right,target);
        return res;
        
    }
};