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 peaks. You must write an algorithm that runs in O(log n) time.
Examples
Input:
nums = [1,2,3,1]Output:
2Explanation:
3 is a peak element and index 2 is returned.
Input:
nums = [1,2,1,3,5,6,4]Output:
5Explanation:
Either index 1 (element 2) or index 5 (element 6) can be returned.
Input:
nums = [1]Output:
0Explanation:
With only one element, index 0 is automatically a peak since there are no neighbors to compare against.
Constraints
- •
1 ≤ nums.length ≤ 1000 - •
-2³¹ ≤ nums[i] ≤ 2³¹ - 1 - •
nums[i] != nums[i + 1] for all valid i.