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