Python中的有效Mountain Array
假设我们有一个整数数组A;我们必须检查它是否是有效的山峰数组。我们知道,当且仅当满足以下情况时,A才是山形数组-A的大小>=3
在A中存在一些索引i使得-
A[0]<A[1]<...A[i-1]<A[i]
A[i]>A[i+1]>...>A[A.length-1]
因此,如果输入类似于[0,3,2,1],则输出将为True。
为了解决这个问题,我们将遵循以下步骤-
如果A<3,
返回False
我:=1
当我<A的大小和A[i]>A[i-1]时,
我:=我+1
如果i等于1或i等于A的大小,则
返回False
当i<A的大小且A[i]<A[i-1]时,
我:=我+1
当我等于A的大小时返回true
让我们看下面的实现以更好地理解-
示例
class Solution: def validMountainArray(self, A): if(len(A)<3): return False i = 1 while(i<len(A) and A[i]>A[i-1]): i+=1 if(i==1 or i==len(A)): return False while(i<len(A) and A[i]<A[i-1]): i+=1 return i==len(A) ob = Solution() print(ob.validMountainArray([0,3,2,1]))
输入值
[0,3,2,1]
输出结果
True