প্রাইম সংখ্যাগুলোর একটি অ্যারে দেওয়া থাকলে, সেখানে থেকে ডুপ্লিকেট উপাদানগুলো মুছে শুধু ইউনিক প্রাইম সংখ্যাগুলো রাখতে হবে।
ইনপুট-১
N = 8, arr[] = {2, 2, 2, 3, 3, 3, 5, 7}
আউটপুট
2 3 5 7
ইনপুট-২
N = 5, arr[] = {3, 2, 7, 5, 5}
আউটপুট
3 2 7 5
সমাধানের পদ্ধতি
একটি ভিজিটেড অ্যারে বা ম্যাপ ব্যবহার করে ডুপ্লিকেট ডিটেক্ট করা যায়।
- অ্যারে সাইজ N এবং এলিমেন্ট ইনপুট নিন।
removeDuplicates(vector<int>& arr, int size)ফাংশন ইউনিক ভেক্টর রিটার্ন করবে।- একটি
int num[100] = {0}অ্যারে দিয়ে ভিজিটেড ট্র্যাক করুন। - প্রতিটি এলিমেন্টের জন্য যদি
num[arr[i]] == 0হয়, তবে1করুন এবং ভেক্টরে পুশ করুন। - ফলাফলে শুধু ইউনিক প্রাইম সংখ্যাগুলো থাকবে।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
vector<int> removeDuplicates(vector<int> &arr, int size) {
int num[100] = {0};
vector<int> vec;
for (int i = 0; i < size; i++) {
if (num[arr[i]] == 0) {
num[arr[i]] = 1;
vec.push_back(arr[i]);
}
}
return vec;
}
int main() {
int N = 8;
vector<int> arr = {2, 2, 2, 3, 3, 3, 5, 7};
vector<int> ans = removeDuplicates(arr, N);
for (int x : ans)
cout << x << " ";
return 0;
}
আউটপুট
2 3 5 7