在 C++ 中查找第二个最频繁字符的程序
在这个问题中,我们得到了字符串 str。我们的任务是创建一个在 C++ 中查找第二个最频繁字符的程序。
让我们举个例子来理解这个问题
输入
str = “abaacabcba”
输出
‘b’
解决方案方法
要找到出现在字符串中最多的第二个字符。我们需要维护一个计数数组 chatCount,该数组用于存储字符串中每个字符的频率。然后利用该数组,我们将找到数组中最大和第二大频率的字符。并显示第二个最频繁的字符。
一个演示我们解决方案工作原理的程序
示例
#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 = charFreq[0], secFreq = charFreq[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
广告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP