Leetcode941. 有效的山脉数组

水( 分类讨论辣鸡->面向测试用例编程

941. 有效的山脉数组

Difficulty: 简单

给定一个整数数组 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]

coding-Leetcode941. 有效的山脉数组-

示例 1:

输入:[2,1]
输出:false

示例 2:

输入:[3,5,5]
输出:false

示例 3:

输入:[0,3,2,1]
输出:true

提示:

  1. 0 <= A.length <= 10000
  2. 0 <= A[i] <= 10000
class Solution(object):
    def validMountainArray(self, A):
        """
        :type A: List[int]
        :rtype: bool
        """
        top=-1
        if len(A)<3:
            return False
        for i in range(len(A)-1):#上升阶段,找山顶
            if A[i]==A[i+1]:
                return False
            if A[i]>A[i+1]:
                top=i
                break
        if top==0 or top==-1:
            return False
        #下降
        for i in range(top,len(A)-1):
            if A[i]<=A[i+1]:
                return False
        return True
匿名

发表评论

匿名网友