Medium

Quiz

#162 Find Peak Element

APPROACH

An element is a peak if it is strictly greater than both its neighbors.

Given a 0-indexed integer array nums, find any peak element and return its index. Any valid peak index is acceptable.

Treat nums[-1] = nums[n] = -∞ so a boundary element only needs to exceed its single neighbor.

Your algorithm must run in O(log n) time.

Example 1:

Input: nums = [1,2,3,1]
Output: 2
Explanation: 3 is a peak element and your function should return the index number 2.

Example 2:

Input: nums = [1,2,1,3,5,6,4]
Output: 5
Explanation: Your function can return either index number 1 where the peak element is 2, or index number 5 where the peak element is 6.
1 of 4
1:00

What is the optimal approach for this problem?