Giả sử chúng ta có một mảng A gồm các số nguyên; chúng ta phải kiểm tra xem nó có phải là một mảng núi hợp lệ hay không. Chúng ta biết rằng A là một mảng núi nếu và chỉ khi nó thỏa mãn các trường hợp sau - kích thước của A> =3
Tồn tại một số chỉ mục i trong A sao cho -
Vì vậy, nếu đầu vào là [0,3,2,1], thì đầu ra sẽ là True.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- nếu kích thước của A <3, thì
- trả về Sai
- i:=1
- while i
A [i-1], do - i:=i + 1
- nếu tôi giống với 1 hoặc tôi giống với kích thước của A, thì
- trả về Sai
- while i
- i:=i + 1
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
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]))
Đầu vào
[0,3,2,1]
Đầu ra
True