इस समस्या में, हमें एक स्ट्रिंग str दी गई है। हमारा कार्य C++ में दूसरी सबसे अधिक बार आने वाले कैरेक्टर को ढूंढने के लिए एक प्रोग्राम बनाना है।
उदाहरण
इनपुट: str = "abaacabcba"
आउटपुट: 'b'
हल करने का दृष्टिकोण
स्ट्रिंग में दूसरी सबसे अधिक बार आने वाले कैरेक्टर को ढूंढने के लिए। हमें एक काउंट ऐरे charCount बनाए रखना होगा जिसका उपयोग स्ट्रिंग में प्रत्येक कैरेक्टर की आवृत्ति को स्टोर करने के लिए किया जाता है। और फिर ऐरे का उपयोग करके हम ऐरे में अधिकतम और दूसरी अधिकतम आवृत्ति वाले कैरेक्टर को ढूंढेंगे। और दूसरी सबसे अधिक बार आने वाले कैरेक्टर को प्रदर्शित करेंगे।
उदाहरण (C++ कोड)
#include <iostream>
#include <string.h>
using namespace std;
char findSecFreqChar(string str){
int charFreq[256] = {0};
for (int i = 0; i < str.length(); i++)
(charFreq[str[i]])++;
int maxFreq = 0, secFreq = 0;
for (int i = 0; i < 256; i++){
if (charFreq[i] > charFreq[maxFreq]){
secFreq = maxFreq;
maxFreq = i;
}
else if (charFreq[i] > charFreq[secFreq] && charFreq[i] != charFreq[maxFreq])
secFreq = i;
}
return secFreq;
}
int main(){
string str = "tutorialspoint";
char secFreqChar = findSecFreqChar(str);
cout << "Second most frequent character of the string is " << secFreqChar;
return 0;
}
आउटपुट
Second most frequent character of the string is i