Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Mountain Array ที่ถูกต้องใน Python


สมมติว่าเรามีอาร์เรย์ A ของจำนวนเต็ม เราต้องตรวจสอบว่าเป็นแนวภูเขาที่ถูกต้องหรือไม่ เรารู้ว่า A เป็นแนวเทือกเขาก็ต่อเมื่อเป็นไปตามสถานการณ์ต่อไปนี้ − ขนาด A>=3

มีดัชนีบางตัว i ใน A ที่ -

  • A[0]
  • A[i]> A[i+1]> ...> A[A.length - 1]

ดังนั้นหากอินพุตเป็นเหมือน [0,3,2,1] เอาต์พุตจะเป็น True

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้าขนาด A <3 แล้ว
    • คืนค่าเท็จ
  • ผม :=1
  • ในขณะที่ i <ขนาดของ A และ A[i]> A[i-1] ให้ทำ
    • ผม :=ผม + 1
  • ถ้าฉันเหมือนกับ 1 หรือฉันเท่ากับขนาด A แล้ว
    • คืนค่าเท็จ
  • ในขณะที่ i <ขนาดของ A และ A[i]
  • ผม :=ผม + 1
  • คืนค่าจริงเมื่อฉันมีขนาดเท่ากับ 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