মান করুন একটি আনসোর্টেড অ্যারে আছে। আমাদের চেক করতে হবে সেটাতে দৈর্ঘ্য ৩ এর একটি বর্ধমান সাবসিকোয়েন্স আছে কিনা।
ফর্ম্যালি ফাংশনটি নিচের কাজটি করা উচিত:
- সত্য রিটার্ন করবে যদি i, j, k অস্তিত্বে থাকে
- যাতে
arr[i] < arr[j] < arr[k]হয়, দেওয়া0 ≤ i < j < k ≤ n-1অথবা মিথ্যা রিটার্ন করবে।
সমাধানের ধাপগুলো:
small := infinity,big := infinity- অ্যারেতে প্রতিটি উপাদান
iএর জন্য- যদি
i <= small, তবেsmall := i, অন্যথায় যখনi <= big, তবেbig := 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