समस्या विवरण
तत्वों के साथ एक ऐरे a[] दिया गया है और कार्य सूची में दिए गए तत्वों की अंतिम घटनाओं को प्रिंट करना है। यहां हमें न केवल डुप्लिकेट तत्वों को हटाना है बल्कि हमें ऐरे में तत्वों की घटनाओं के क्रम को भी बनाए रखना है जैसा कि वे अंतिम बार हुए हैं।
उदाहरण
इनपुट: a[] = {4,2,2,4,1,5,1}
आउटपुट: 2 4 5 1
एल्गोरिदम
शुरुआत
चरण 1: void printelements(int a[], int n) फंक्शन घोषित करें
STL unordered_map ele उपयोग करें
i = 0 से n-1 तक लूप
ele[a[i]] = i सेट करें
i = 0 से n-1 तक लूप
यदि ele[a[i]] == i तो
a[i] प्रिंट करें
अंत
अंत
चरण 2: main()
array a[] = {4,2,2,4,1,5,1} घोषित करें
int n = sizeof(a)/sizeof(a[0]) घोषित करें
printelements(a, n) फंक्शन कॉल करें
रोकें
C++ प्रोग्राम उदाहरण
#include <bits/stdc++.h>
using namespace std;
void printelements(int a[], int n) {
unordered_map 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