在 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