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 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.
### Constraints
- `1 <= nums.length <= 1000`
- `-2^31 <= nums[i] <= 2^31 - 1`
- `nums[i] != nums[i + 1]` for all valid `i`.
### Input Format
A single line containing space-separated integers representing `nums`.
### Output Format
Print the index of any valid peak element.
Sample Cases
Example 1Sample Case
Input: 1 2 3 1
Output: 2
Example 2Sample Case
Input: 1 2 1 3 5 6 4
Output: 5
Example 3Sample Case
Input: 1 1
Output: 0
Example 4Sample Case
Input: 1 1 2 3
Output: 3
Constraints
Runtime Limit: 2000 ms per test batch
Memory Limit: 256 MB
Standard I/O stream reading
Official submissions are evaluated against hidden test cases on the server to verify time & memory complexity.