ধরুন আমাদের একটি স্ট্রিং আছে; আমাদের পুনরাবৃত্তি করা প্রথম অক্ষরটি খুঁজে বের করতে হবে। তাই স্ট্রিংটি হল "হ্যালো ফ্রেন্ডস", প্রথম পুনরাবৃত্তি করা অক্ষরটি হবে l। যেহেতু একটার পর একটা দুটো l’s আছে।
এটি সমাধান করার জন্য, আমরা হ্যাশিং কৌশল ব্যবহার করব। একটি হ্যাশ টেবিল তৈরি করুন, প্রতিটি অক্ষর একে একে স্ক্যান করুন, যদি অক্ষরটি উপস্থিত না থাকে তবে একটি হ্যাশ টেবিলে সন্নিবেশ করান, যদি এটি ইতিমধ্যে উপস্থিত থাকে তবে সেই অক্ষরটি ফিরিয়ে দিন।
উদাহরণ
#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