तत्वों के साथ एक सरणी a [] दिया गया है और कार्य सूची में दिए गए तत्वों की अंतिम घटनाओं को मुद्रित करना है। यहां हमें न केवल डुप्लिकेट तत्वों को हटाना है, बल्कि हमें पिछली बार होने वाले तत्वों के अनुसार तत्वों की घटनाओं के क्रम को भी बनाए रखना है।
जैसे हमारे पास 6 तत्वों की एक सरणी है जिसमें कुछ डुप्लिकेट मान भी हैं, यानी {1,3, 2, 3, 1, 2} इसलिए परिणाम 3 1 2 के रूप में होना चाहिए।
उदाहरण
Input: a[]={4,2,2,4,1,5,1} Output : 2 4 5 1
एल्गोरिदम
START Step 1-> Declare function void printelements(int a[], int n) Use STL unordered_map<int, int> ele Loop For int i=0 and i<n and i++ Set ele[a[i]]=i Loop For int i=0 and i<n and i++ IF ele[a[i]]=i Print a[i] End End Step 2 -> main() Declare array a[]={4,2,2,4,1,5,1} Declare int n=sizeof(a)/sizeof(a[0]) Call Function printelements(a,n) STOPघोषित करें
उदाहरण
#include <bits/stdc++.h> using namespace std; void printelements(int a[], int n) { unordered_map<int, int> ele; for (int i = 0; i < n; i++) ele[a[i]] = i; for (int i = 0; i < n; i++) { if (ele[a[i]] == i) cout << a[i] << " "; } } int main() { int a[] = { 4,2,2,4,1,5,1 }; int n = sizeof(a) / sizeof(a[0]); printelements(a, n); return 0; }
आउटपुट
यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा
2 4 5 1