কম্পিউটার টিউটোরিয়াল

অ্যারেতে লোকাল মিনিমা খুঁজে বের করা (C++)

একটি অ্যারে A দেওয়া আছে। লোকাল মিনিমা হলো যেটি তার উভয় পাশের এলিমেন্ট থেকে ছোট বা সমান। কর্নার এলিমেন্টের জন্য এক পাশেই চেক করুন। বাইনারি সার্চ লজিক ব্যবহার করুন।

উদাহরণ

#include <iostream>
using namespace std;

int localMinima(int arr[], int left, int right, int n) {
    int mid = left + (right-left)/2;
    if ((mid==0 || arr[mid-1] > arr[mid]) && (mid==n-1 || arr[mid+1] > arr[mid]))
        return mid;
    else if (mid > 0 && arr[mid-1] < arr[mid])
        return localMinima(arr, left, mid-1, n);
    return localMinima(arr, mid+1, right, n);
}

int main() {
    int arr[] = {9,6,3,14,5,7,4};
    int n = sizeof(arr)/sizeof(arr[0]);
    cout << "Local minima: " << arr[localMinima(arr,0,n-1,n)];
    return 0;
}

আউটপুট

Local minima: 3
  1. C++-এ অ্যারেতে সর্বোচ্চ GCD वाली পেয়ার বের করা

  2. অ্যারে উপাদানগুলোর সারপাসার (Surpasser) কাউন্ট (C++)

  3. C++-এ অ্যারে উপাদানগুলির ফ্যাক্টোরিয়ালের GCD বের করা

  4. C++-এ ফাংশন থেকে লোকাল অ্যারে রিটার্ন কীভাবে করবেন?