Find Peak Element

IF
AlgoAxiomStaff Engineers
JSTS
Medium20 mins

A peak element is an element that is strictly greater than its neighbors.

Given an integer array nums, find a peak element and return its index. If the array contains multiple peaks, return the index to any of them.

You may imagine that nums[-1] = nums[n] = -∞. You must write an algorithm that runs in O(log n) time.

Examples

Example 1:

Input: nums = [1, 2, 3, 1]

Output: 2

Explanation: 3 is a peak element and index 2 is returned.

Example 2:

Input: nums = [1, 2, 1, 3, 5, 6, 4]

Output: 5

Explanation: Either index 1 (value 2) or index 5 (value 6) can be returned.

Constraints

  • 1 <= nums.length <= 1000
  • -2^31 <= nums[i] <= 2^31 - 1
  • nums[i] !== nums[i + 1] for all valid i
Source: Modified Binary Search pattern — AlgoAxiom
JavaScript
Test Case 1
root = [1, 2, 3]
Test Case 2
root = [1, 2, 3, 4, 5]
Idle