#include <algorithm>
#include <vector>
class Solution {
public:

    int findPeakElement(vector<int>& nums) {
        int n = nums.size();
        if(n == 1) return 0;
        if(n == 0) return -1;
        if(nums[0] > nums[1] ) return 0;
        if(nums[n-1] > nums[n -2]) return n -1; //所以如果是两个数的话,一定会退出,并且当两端出现局部大的元素时,也会直接返回
        
        for(int i = 1, j = n -2; i <= j; i++,j--){//因为两端的元素已经检查过了,所以都从第二个出发
            if((nums[i] > nums[i - 1] && nums[i] > nums[i + 1] ))
            return i;
            if(nums[j] > nums[j -1] && nums[j] > nums[j + 1])return j;
            
        }
        return 0;
 
    }
};