#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @param target int整型 
     * @return int整型
     */
  //分治
    int search(vector<int>& nums, int target) {
        // write code here
        int right=nums.size()-1;
        int left=0;
        int index=recursion(nums, left, right, target);
        return index;
    }
    //1 2 3 4 5 6
    //0 1 2 3 4 5
    int recursion(vector<int>& nums,int left,int right,int target){
        if(right<0) return -1;
        int mid=(right+left)/2;
        if(nums[mid]==target){
            return mid;
        }else if (nums[mid]>target) {
            if(left>mid-1) return -1;
            int index=recursion(nums, left, mid-1, target);
            return index;
        }else {
            if(right<mid+1) return -1;
            int index=recursion(nums, mid+1, right, target);
            return index;
        }
    }
};