class Solution: | |||||
def peakIndexInMountainArray(self, A): | |||||
# return the peak of the mountain... i.e Where the array starts going down in value | |||||
last = -1 | |||||
for ind, n in enumerate(A): | |||||
if n < last: | |||||
return ind - 1 | |||||
last = n | |||||
# This should never happen | |||||
return -1 | |||||
s = Solution() | |||||
print("Expected: 1") | |||||
print("Got:", s.peakIndexInMountainArray([0, 2, 1, 0])) |
Let's call an array A a mountain if the following properties hold: | |||||
A.length >= 3 | |||||
There exists some 0 < i < A.length - 1 such that A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] | |||||
Given an array that is definitely a mountain, return any i such that A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1]. | |||||
Example 1: | |||||
Input: [0,1,0] | |||||
Output: 1 | |||||
Example 2: | |||||
Input: [0,2,1,0] | |||||
Output: 1 | |||||
Note: | |||||
3 <= A.length <= 10000 | |||||
0 <= A[i] <= 10^6 | |||||
A is a mountain, as defined above. | |||||
#!/bin/bash | |||||
python3 main.py |