ধরি একটি স্ট্রিং লিস্ট আছে। লিস্টে কিছু ডুপ্লিকেট স্ট্রিং আছে। আমাদের চেক করতে হবে কোন স্ট্রিং একাধিকবার আসেছে। ধরি স্ট্রিং লিস্টটি হল ["Hello", "Kite", "Hello", "C++", "Tom", "C++"]।
এখানে আমরা হ্যাশিং টেকনিক ব্যবহার করব। একটি খালি হ্যাশ টেবিল বানাব, তারপর প্রতিটি স্ট্রিং ট্রাভার্স করব, যদি স্ট্রিং s হ্যাশে ইতিমধ্যে থাকে তবে ডিসপ্লে করব, অন্যথায় হ্যাশে ইনসার্ট করব।
উদাহরণ কোড
#include <iostream>
#include <vector>
#include <unordered_set>
using namespace std;
void displayDupliateStrings(vector<string> strings) {
unordered_set<string> s;
bool hasDuplicate = false;
for (int i = 0; i < strings.size(); i++) {
if (s.find(strings[i]) != s.end()) {
cout << strings[i] << endl;
hasDuplicate = true;
} else {
s.insert(strings[i]);
}
}
if (!hasDuplicate)
cout << "No Duplicate string has found" << endl;
}
int main() {
vector<string> strings{"Hello", "Kite", "Hello", "C++", "Tom", "C++"};
displayDupliateStrings(strings);
}
আউটপুট
Hello C++