class Solution {
  public:
    int findPeakElement(vector<int>& nums) {
        int l = 0;
        int r = nums.size() - 1;
        if (nums.size() == 1)
            return 0;
        else if(nums.size() == 2){
            if(nums[0] > nums[1])
                return 0;
            return 1;
        }
        while (l < r) {
            int mid = (l + r) / 2;
            if (nums[mid] >= nums[mid+1])
                r = mid;
            else
                l = mid + 1;
        }
        return l;
    }
};