ধরুন আমাদের কাছে ধনাত্মক সংখ্যার একটি অ্যারে আছে; আমাদের একটি বিন্দু/আইটেম চেক করতে হবে কোন আইটেমগুলি প্রথমে কঠোরভাবে ক্রমবর্ধমান পূর্ণসংখ্যার ক্রম অনুসরণ করে একটি কঠোরভাবে হ্রাসকারী ক্রম তৈরি করে। এগুলি হল নিম্নলিখিত বৈশিষ্ট্যগুলি:আমাদের মনে রাখতে হবে যে ক্রমগুলি ন্যূনতম দৈর্ঘ্য 2 হতে হবে
এছাড়াও, আমরা খেয়াল রেখেছি যে ক্রমবর্ধমান অনুক্রমের শেষ মানটি ক্রমবর্ধমান অনুক্রমের প্রথম মান।
সুতরাং, যদি ইনপুট {5, 4, 3, 4} এর মত হয়, তাহলে আউটপুট হবে 3, যেহেতু {5, 4, 3} কঠোরভাবে কমছে তারপর {3, 4} কঠোরভাবে বাড়ছে৷
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- বৃদ্ধি :=১, হ্রাস :=১
- n :=অ্যারের আকার
- 1 থেকে n রেঞ্জের জন্য, করুন
- যদি array[i]
- যদি বৃদ্ধি 1 এর সমান হয়, তাহলে
- কমানো :=হ্রাস + 1
- অন্যথায়,
- রিটার্ন -1
- যদি বৃদ্ধি 1 এর সমান হয়, তাহলে
- যদি array[i]
- অন্যথায় যখন অ্যারে[i]> অ্যারে[i-1] অ-শূন্য হয়, তখন
- যদি বৃদ্ধি 1 এর সমান হয়, তাহলে
- pt :=অ্যারে[i-1]
- কমলে>=2, তারপর
- বৃদ্ধি:=বৃদ্ধি + 1
- অন্যথায়,
- রিটার্ন -1
- যদি বৃদ্ধি 1 এর সমান হয়, তাহলে
- অন্যথায় যখন অ্যারে[i] অ্যারে[i-1] এর মতো হয়, তখন
- রিটার্ন -1
- রিটার্ন পিটি
- রিটার্ন -1
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def search_element(array): increase = 1 decrease = 1 n = len(array) for i in range(1, n): if(array[i] < array[i-1]): if increase == 1: decrease = decrease + 1 else: return -1 elif(array[i] > array[i-1]): if increase == 1: pt = array[i-1] if decrease >= 2: increase = increase + 1 else: return -1 elif(array[i] == array[i-1]): return -1 if(increase >= 2 and decrease >= 2): return pt else: return -1 array = [5,4,3,4] element = search_element(array) print(element)
ইনপুট
[5,4,3,4]
আউটপুট
3