मान लीजिए हमारे पास एक स्ट्रिंग है; हमें पहला वर्ण ढूंढना है जो दोहराया गया है। यदि स्ट्रिंग "Hello Friends" है, तो पहला दोहराया गया वर्ण 'l' होगा। क्योंकि दो 'l' एक के बाद एक हैं।
इसे हल करने के लिए, हम हैशिंग तकनीक का उपयोग करेंगे। एक हैश टेबल बनाएं, प्रत्येक वर्ण को एक-एक करके स्कैन करें, यदि वर्ण मौजूद नहीं है, तो हैश टेबल में डालें, यदि यह पहले से मौजूद है, तो उस वर्ण को लौटाएं।
C++ उदाहरण
#include <iostream>
#include <unordered_set>
using namespace std;
char getFirstRepeatingChar(string &s) {
unordered_set 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);
return 0;
}
आउटपुट
First repeating character is: l