941. 有效的山脉数组
难度简单48
给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。
让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:
A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得: A[0] < A[1] < ... A[i-1] < A[i]A[i] > A[i+1] > ... > A[A.length - 1]
示例 1:
输入:[2,1] 输出:false示例 2:
输入:[3,5,5] 输出:false示例 3:
输入:[0,3,2,1] 输出:trueclass Solution: def validMountainArray(self, A: List[int]) -> bool: if len(A)<3: return False Max = max(A) Max_index = A.index(Max) if Max==A[-1]: return False if Max==A[0]: return False s1= A[:Max_index] s2 = A[Max_index:] return all(s1[i] > s1[i-1] for i in range(1,len(s1))) and all(s2[i+1] < s2[i] for i in range(len(s2)-1)) class Solution: def validMountainArray(self, A: List[int]) -> bool: N=len(A) i =0; while i+1<N and A[i]<A[i+1]: i+=1 if i==0 or i==N-1: return False while i+1<N and A[i]>A[i+1]: i+=1 return i==N-1