leetcode941. 有效的山脉数组

    技术2022-07-11  77

    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] 输出:true

     

    class 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

     

    Processed: 0.011, SQL: 9