class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @param target int整型 
     * @return int整型
     */
    vector<int> arr;
    int myTarget;
    int findPos(int l,int r)
    {
        while(l<r)
        {
            int mid=(l+r)/2;
            if(arr[mid]>myTarget) r=mid;
            else if(arr[mid]<myTarget) l=mid+1;
            else return mid;
        }
        return -1;
    }
    int search(vector<int>& nums, int target) {
        // write code here
        this->arr=nums;
        this->myTarget=target;
        return findPos(0,nums.size());
    }
};