Binary Search

class Solution {
public:
    void sol(vector<int>& nums, int s, int e, int& res, int& index) {
        if(s >= e) {
            if(res < nums[s]) {
                res = nums[s];
                index = s;
            }
            return;
        }
        int mid = s +(e-s)/2;
        sol(nums, s, mid, res, index);
        sol(nums, mid+1, e, res, index);
    }

    int findPeakElement(vector<int>& nums) {
        int res = INT_MIN;
        int i = 0;
        sol(nums, 0, nums.size()-1, res, i);
        return i;
    }
};

TLE - 102 / 106
Memory Limit Exceed - 80/106 (TC Optimized Sol.)

Last updated

Was this helpful?