मान लीजिए कि हमारे पास n तत्वों की एक सरणी है जिसे A कहा जाता है। हमें उस सरणी में किन्हीं दो तत्वों के बीच न्यूनतम अंतर ज्ञात करना होगा। मान लीजिए 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