मान लीजिए हमारे पास एक स्ट्रिंग है; हमें दोहराए जाने वाले पहले चरित्र को ढूंढना होगा। तो स्ट्रिंग "हैलो फ्रेंड्स" है, पहला दोहराया जाने वाला वर्ण 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