ধরুন আমাদের কাছে A নামক n উপাদানের একটি অ্যারে আছে। আমাদের সেই অ্যারের যেকোনো দুটি উপাদানের মধ্যে ন্যূনতম পার্থক্য খুঁজে বের করতে হবে। ধরুন A =[30, 5, 20, 9], তাহলে ফলাফল হবে 4। এটি হল 5 এবং 9 উপাদানের সর্বনিম্ন দূরত্ব।
এই সমস্যা সমাধানের জন্য, আমাদের এই পদক্ষেপগুলি অনুসরণ করতে হবে -
-
অ-হ্রাস ক্রমে অ্যারে সাজান
-
পার্থক্যটিকে অসীম হিসাবে শুরু করুন
-
বাছাই করা অ্যারেতে সমস্ত সংলগ্ন জোড়া তুলনা করুন এবং সর্বনিম্ন একটি ট্র্যাক রাখুন
উদাহরণ
#include<iostream>
#include<algorithm>
using namespace std;
int getMinimumDifference(int a[], int n) {
sort(a, a+n);
int min_diff = INT_MAX;
for (int i=0; i<n-1; i++)
if (a[i+1] - a[i] < min_diff)
min_diff = a[i+1] - a[i];
return min_diff;
}
int main() {
int arr[] = {30, 5, 20, 9};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "Minimum difference between two elements is: " << getMinimumDifference(arr, n);
} আউটপুট
Minimum difference between two elements is: 4