less than 1 minute read

<-E 852> Peak Index in a Mountain Array

// Method 1
class Solution {
public:
    int peakIndexInMountainArray(vector<int>& arr) {
        int ans = -1;
        int check = arr[0];
        for(auto i : arr)
            if(check > i)
                return ans;
            else {
                ans++;
                check = i;
            }
        return ans;
    }
};

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