สมมติว่าเรามีอาร์เรย์ A ของจำนวนเต็ม เราต้องตรวจสอบว่าเป็นแนวภูเขาที่ถูกต้องหรือไม่ เรารู้ว่า A เป็นแนวเทือกเขาก็ต่อเมื่อเป็นไปตามสถานการณ์ต่อไปนี้ − ขนาด A>=3
มีดัชนีบางตัว i ใน A ที่ -
ดังนั้นหากอินพุตเป็นเหมือน [0,3,2,1] เอาต์พุตจะเป็น True
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้าขนาด A <3 แล้ว
- คืนค่าเท็จ
- ผม :=1
- ในขณะที่ i <ขนาดของ A และ A[i]> A[i-1] ให้ทำ
- ผม :=ผม + 1
- ถ้าฉันเหมือนกับ 1 หรือฉันเท่ากับขนาด A แล้ว
- คืนค่าเท็จ
- ในขณะที่ i <ขนาดของ A และ A[i]
- ผม :=ผม + 1
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
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