สมมติว่ามีอาร์เรย์ที่ไม่ได้เรียงลำดับ เราต้องตรวจสอบว่ามีลำดับย่อยของความยาว 3 เพิ่มขึ้นหรือไม่ในอาร์เรย์นั้น
อย่างเป็นทางการ ฟังก์ชันควร −
- คืนค่า จริง ถ้ามี i, j, k
- เช่นนั้น arr[i]
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- เล็ก :=อินฟินิตี้, ใหญ่ :=อินฟินิตี้
- สำหรับแต่ละองค์ประกอบ i ในอาร์เรย์
- ถ้าฉัน <=เล็ก แสดงว่าเล็ก :=i มิฉะนั้น เมื่อฉัน <=ใหญ่ แสดงว่าใหญ่ :=i ไม่เช่นนั้นคืนค่าเป็นจริง
- คืนค่าเท็จ
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution(object): def increasingTriplet(self, nums): small,big = 100000000000000000000,100000000000000000000 for i in nums: if i <= small: small = i elif i<=big: big = i else : return True return False ob1 = Solution() print(ob1.increasingTriplet([5,3,8,2,7,9,4]))
อินพุต
[5,3,8,2,7,9,4]
ผลลัพธ์
True