My concise solution with O(log(n))


  • 0
    B

    class Solution {
    public:

    int findPeakElement(vector<int>& nums) {
        
        int left = 0, right = nums.size() - 1;
        
        while(left < right)
        {
            int mid = left + (right - left) / 2;
            
            if(mid == left) return nums[left] > nums[right] ? left: right;
            
            if(nums[mid] < nums[mid-1])
            {
                right = mid - 1;
            }
            else
            {
                left = mid;
            }    
        }
        
        return left;
    }
    

    };


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.