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
廣告