ধরি একটি স্ট্রিং আছে; আমাদের প্রথমটি যে ক্যারেক্টার রিপিট হয়েছে সেটি বের করতে হবে। স্ট্রিংটি "Hello Friends" হলে প্রথম রিপিটেড ক্যারেক্টার হবে 'l'। কারণ দুটি 'l' একসাথে আছে।
এটি সমাধান করতে আমরা হ্যাশিং টেকনিক ব্যবহার করব। একটি খালি হ্যাশ টেবিল বানাব, প্রতিটি ক্যারেক্টার স্ক্যান করব, যদি ক্যারেক্টারটি হ্যাশ টেবিলে না থাকে তবে ইনসার্ট করব, যদি ইতিমধ্যে থাকে তবে সেটি রিটার্ন করব।
উদাহরণ কোড
#include <iostream>
#include <unordered_set>
using namespace std;
char getFirstRepeatingChar(string &s) {
unordered_set<char> hash;
for (int i = 0; i < s.length(); i++) {
char c = s[i];
if (hash.find(c) != hash.end())
return c;
else
hash.insert(c);
}
return '\0';
}
int main() {
string str = "Hello Friends";
cout << "First repeating character is: " << getFirstRepeatingChar(str);
}
আউটপুট
First repeating character is: l