I'm trying to find out if my evidence is valid. I think it makes sense intuitively, but I'm afraid I'm missing something. Any help would be appreciated!

```
A peak element is an element that is greater than its neighbors.
Given an input array nums, where nums(i) ≠ nums(i+1), find a peak element and return its index.
The array may contain multiple peaks, in that case return the index to any one of the peaks is fine.
You may imagine that nums(-1) = nums(n) = -∞.
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: 1 or 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.
```

```
public int findPeakElement(int() nums) {
for (int i = 0; i < nums.length-1; i++) {
if (nums(i) > nums(i + 1)) {
return i;
}
}
return nums.length - 1;
}
```

## Why don't you have to check the left neighbor for every element?

Assume a contradiction we are going through `nums`

to discover another climax and we come across and element at the index `i`

its right neighbor at the index `i+1`

is strictly smaller. If the element at the index `i`

were **Not** a peak then the element at the index `i-1`

should be bigger. Then we have that

```
nums(i-1) > nums(i) > nums(i+1)
```

This then implies that `nums(i+1)`

is the last element in a strictly decreasing sequence of elements (which we have seen) whose start must be a peak (either the sequence starts at the index) `0`

or it starts at the index `k, 0 < k < i`

). This contradicts our assumption, so the first element whose right neighbor is strictly smaller is a local peak.