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