উপাদান সহ একটি অ্যারে দেওয়া হয়েছে এবং কাজটি হল তালিকায় প্রদত্ত উপাদানগুলির শেষ ঘটনাগুলি মুদ্রণ করা। এখানে আমাদের শুধুমাত্র সদৃশ উপাদানগুলিকে সরিয়ে ফেলতে হবে না কিন্তু আমাদেরকে একটি অ্যারেতে উপাদানগুলির সংঘটনের ক্রম বজায় রাখতে হবে যেভাবে তারা শেষবার ঘটেছে৷
যেমন আমাদের কাছে 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