ধরুন, nums নামক একটি সংখ্যার অ্যারে দেওয়া হয়েছে। আমাদের যাচাই করতে হবে যে এই অ্যারেটি কি একটি বাইনারি সার্চ ট্রি (BST) এর ইনঅর্ডার ট্রাভার্সাল অনুযায়ী সাজানো আছে কিনা।
যেমন, ইনপুট nums = [5, 8, 15, 18, 20, 26, 39] হলে আউটপুট হবে True, কারণ এটি একটি BST-এর ইনঅর্ডার ট্রাভার্সাল।
সমাধানের ধাপসমূহ
size = len(nums)।- যদি সাইজ ০ বা ১ হয়, তবে True ফেরত দিন।
i = 1থেকেsize-1পর্যন্ত লুপ চালান:- যদি
nums[i-1] > nums[i]হয়, তবে False ফেরত দিন (কারণ ইনঅর্ডার ট্রাভার্সাল সর্বদা সর্টেড থাকে)।
- যদি
- লুপ শেষ হলে True ফেরত দিন।
উদাহরণ কোড
def solve(nums):
size = len(nums)
if size == 0 or size == 1:
return True
for i in range(1, size):
if nums[i-1] > nums[i]:
return False
return True
nums = [5, 8, 15, 18, 20, 26, 39]
print(solve(nums))
ইনপুট
[5, 8, 15, 18, 20, 26, 39]
আউটপুট
True