हमें वर्णमाला की एक स्ट्रिंग दी गई है। कार्य उस वर्ण को ढूंढना है जिसमें स्ट्रिंग में सबसे लंबी सतत दोहराव हो। आइए उदाहरणों से समझते हैं।
इनपुट - String[] = "abbbabbbbcdd"
आउटपुट - b
व्याख्या - उपरोक्त स्ट्रिंग में, सबसे लंबा सतत अनुक्रम वर्ण 'b' का है। सतत b की गिनती 4 है।
इनपुट - String[] = "aabbcdeeeeed"
आउटपुट - e
व्याख्या - उपरोक्त स्ट्रिंग में, सबसे लंबा सतत अनुक्रम वर्ण 'e' का है। सतत e की गिनती 5 है।
प्रयुक्त दृष्टिकोण
कैरेक्टर ऐरे string1[] का उपयोग वर्णमाला की स्ट्रिंग को स्टोर करने के लिए किया जाता है।
फंक्शन maxRepeating(char str[], int n) दो इनपुट पैरामीटर लेता है। स्ट्रिंग स्वयं, इसका आकार। सबसे लंबे सतत दोहराव अनुक्रम वाले वर्ण को वापस करता है।
पहली पोजीशन से अंत तक str[] में स्ट्रिंग को ट्रैवर्स करें।
यदि str[i] और अगला str[i+1] समान हैं, तो count बढ़ाएं।
यदि वह गिनती अधिकतम है, तो मान को maxC में और वर्ण को repchar में स्टोर करें।
अंतिम परिणाम के रूप में repchar वापस करें।
C++ प्रोग्राम उदाहरण
#include <iostream>
char maxRepeating(char str[], int n) {
int count = 0;
char repchar = str[0];
int maxC = 1;
for (int i = 0; i < n; i++) {
if (str[i] == str[i+1] && i < n-1)
maxC++;
else {
if (maxC > count) {
count = maxC;
repchar = str[i];
}
maxC = 1;
}
}
return repchar;
}
int main() {
char string1[] = "aaabbaacccddef";
int N = 14;
cout << "Maximum Consecutive repeating character in string: " << maxRepeating(string1, N);
return 0;
}आउटपुट
Maximum Consecutive repeating character in string: a