একটি অ্যারে দেওয়া থাকলে, একটি পিক এলিমেন্ট (যে এলিমেন্টটি এর دوপাশের এলিমেন্টদের চেয়ে বড় বা সমান) বের করতে হবে।
পদ্ধতি
- অ্যারে ইনিশিয়ালাইজ করুন।
- প্রথম এবং শেষ এলিমেন্ট আলাদাভাবে চেক করুন।
- বাকি এলিমেন্টের জন্য i=1 থেকে n-2 পর্যন্ত চেক করুন: arr[i] >= arr[i-1] && arr[i] >= arr[i+1]।
- প্রথম পিক এলিমেন্ট পাওয়া গেলে রিটার্ন করুন।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int findPeakElement(int arr[], int n) {
if (n == 1) return arr[0];
if (arr[0] >= arr[1]) return arr[0];
if (arr[n-1] >= arr[n-2]) return arr[n-1];
for (int i = 1; i < n-1; i++)
if (arr[i] >= arr[i-1] && arr[i] >= arr[i+1])
return arr[i];
return arr[0];
}
int main() {
int arr[] = {1, 2, 5, 4, 7};
cout << findPeakElement(arr, 5) << endl;
return 0;
}
আউটপুট
7