এই নিবন্ধে আমরা নেক্সট গ্রেটার এলিমেন্ট প্রেডিক্ট করার জন্য ইউজার-ডিফাইনড ফাংশন ডিফাইন করার পদ্ধতি শিখব।
সমস্যা বিবরণ
আমাদের একটি অ্যারে দেওয়া আছে এবং আমাদের অ্যারেতে উপস্থিত প্রতিটি এলিমেন্টের জন্য Next Greater Element প্রিন্ট করতে হবে। একটি এলিমেন্ট x-এর জন্য Next Greater Element হলো অ্যারেতে x-এর ডান পাশে উপস্থিত প্রথম গ্রেটার এলিমেন্ট। যেসব এলিমেন্টের জন্য কোনো গ্রেটার এলিমেন্ট নেই, তাদের জন্য -1 আউটপুট হিসেবে রিটার্ন করুন।
ইনপুট টেস্ট কেস
[12, 1, 2, 3]
আউটপুট
12 -> -1 1 -> 3 2 -> 3 3 -> -1
এখন সোর্স কোডটি পর্যবেক্ষণ করুন।
উদাহরণ
# ফাংশন ডেফিনিশন
def elevalue(arr):
# ইটারেশন
for i in range(0, len(arr)):
# স্লাইসিং{max}
final = max(arr[i:])
# গ্রেটেস্ট চেক
if (arr[i] == final):
print("%d -> %d" % (arr[i], -1))
else:
print("%d -> %d" % (arr[i], final))
# ড্রাইভার প্রোগ্রাম
def main():
arr = [12, 1, 2, 3]
elevalue(arr)
arr = [1, 34, 2, 1]
elevalue(arr)
if __name__ == '__main__':
main()
আউটপুট
12 -> -1 1 -> 3 2 -> 3 3 -> -1 1 -> 34 34 -> -1 2 -> -1 1 -> -1
উপসংহার
এই নিবন্ধে আমরা ইউজার-ডিফাইনড ফাংশন ব্যবহার করে Next Greater Elements বের করার আকর্ষণীয় পাইথন বাস্তবায়ন শিখেছি।