Medium
Find Peak Element
Medium
0 submissions
25 coins
+100 XP
Array
Binary Search
Problem Description
A **peak element** is an element that is strictly greater than its neighbors.
Given a 0-indexed integer array `nums`, find a peak element, and return its index. If the array contains multiple peaks, return the index to **any of the peak elements**.
You may imagine that `nums[-1] = nums[n] = -∞`. In other words, an element is always considered to be strictly greater than a neighbor that is outside the array.
You must write an algorithm that runs 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 = [5,4,3,2,1]
Output: 0
Explanation: 5 is greater than its only neighbor 4, so index 0 is a peak.
**Example 3:**
Input: nums = [1,2,3,4,5]
Output: 4
Explanation: 5 is greater than its only neighbor 4, so index 4 is a peak.
Constraints
- 1 <= nums.length <= 1000
- -2^31 <= nums[i] <= 2^31 - 1
- nums[i] != nums[i + 1] for all valid i
Need help?
Connect with expert programmers for real-time collaborative coding, video meetings, and whiteboard sessions via CodeConnect.
Video Call
Whiteboard
Live Coding
Screen Share