Computer >> Máy Tính >  >> Lập trình >> Python

Mảng núi hợp lệ bằng Python

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
  • trả về true khi tôi có kích thước bằng với kích thước của A
  • 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