#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型
     */
    int findPeakElement(vector<int>& nums) {
        // write code here
        int right=nums.size()-1;
        int left=0;
        int index=recursion(nums, left, right);
        return index;
    }
    int recursion(vector<int>& nums,int left,int right){
        int mid=(right+left)/2;
        //右边是往下,不一定有坡峰
        if(nums[mid] > nums[mid + 1]){
            right = mid;
            if(left==right) return left;
            int index=recursion(nums, left, right);
            return index;
        }
        //右边是往上,一定能找到波峰
        else{
            left = mid + 1;
            if(left==right) return right;
            int index=recursion(nums, left, right);
            return index;
        }
    }
};