leetcode 941. 有效的山脉数组(简单)
给定一个整数数组 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:
i=0
l=len(A)
if l<3:
return False
while i<l-1 and A[i+1]>A[i]:
i+=1
if i==l-1:
return False
while 0<i<l-1 and A[i+1]<A[i]:
i+=1
return i==l-1