| 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 |