Giả sử có một mảng chưa được sắp xếp. Chúng ta phải kiểm tra xem một dãy con có độ dài 3 tăng dần có tồn tại trong mảng đó hay không.
Về mặt chính thức, hàm nên -
- Trả về true nếu tồn tại i, j, k
- sao cho arr [i]
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- small:=infinity, big:=infinity
- cho mỗi phần tử i trong mảng
- if i <=small, then small:=i, ngược lại khi i <=big, then big:=i, ngược lại trả về true
- trả về false
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
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]))
Đầu vào
[5,3,8,2,7,9,4]
Đầu ra
True