Python 中有效的山脉数组
假设我们有一个整数数组 A;我们必须检查它是否是一个有效山脉数组。如果且仅当 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],则输出将为真。
要解决这个问题,我们将按照以下步骤进行 −
- 如果 A 的大小 < 3,则
- 返回假
- i := 1
- 当 i < A 的大小且 A[i] > A[i-1],执行
- i := i + 1
- 如果 i 与 1 相同或 i 与 A 的大小 相同,则
- 返回假
- 当 i < A 的大小且 A[i] < A[i-1],执行
- i := i + 1
- 当 i 与 A 的大小 相同时,返回真
让我们看看以下实现以获得更好的理解 −
示例
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
广告