【python3】leetcode 941. Valid Mountain Array(easy)
阿新 • • 發佈:2018-12-17
941. Valid Mountain Array(easy)
Given an array
A
of integers, returntrue
if and only if it is a valid mountain array.Recall that A is a mountain array if and only if:
A.length >= 3
- There exists some
i
with0 < i < A.length - 1
such that:
A[0] < A[1] < ... A[i-1] < A[i]
A[i] > A[i+1] > ... > A[B.length - 1]
Example 1:
Input: [2,1] Output: falseExample 2:
Input: [3,5,5] Output: falseExample 3:
Input: [0,3,2,1] Output: true
1 straightforward but awkard
按照定義先找最大值的位置maxidx,maxidx如果=0或len-1,說明在首尾位置,則A為單調減/增,return False
否則把A分為maxidx的左右判斷是否單調增或減
class Solution: def validMountainArray(self, A): """ :type A: List[int] :rtype: bool """ if len(A) < 3: return False maxidx = A.index(max(A)) if (maxidx == 0) or (maxidx == len(A) - 1): return False for i in range(0,maxidx): if (A[i+1] <= A[i]):return False for i in range(maxidx+1,len(A)): if A[i] >= A[i-1]:return False return True