程序,查找C ++中第二常见的字符

在本教程中,我们将讨论一个查找第二个最常见字符的程序。

为此,我们将提供一个字符串。我们的任务是仅将字符串迭代一次,然后在其中查找第二个最常见的字符。

示例

#include <bits/stdc++.h>
using namespace std;
#define NO_OF_CHARS 256
//找到第二个最常出现的角色
char getSecondMostFreq(string str) {
   int count[NO_OF_CHARS] = {0}, i;
   for (i = 0; str[i]; i++)
      (count[str[i]])++;
   int first = 0, second = 0;
   for (i = 0; i < NO_OF_CHARS; i++){
      if (count[i] > count[first]){
         second = first;
         first = i;
      }
      else if (count[i] > count[second] &&
      count[i] != count[first])
      second = i;
   }
   return second;
}
int main(){
   string str = "nhooo";
   char res = getSecondMostFreq(str);
   if (res != '\0')
      cout << "Second most frequent char is " << res;
   else
      cout << "No second most frequent character";
   return 0;
}

输出结果

Second most frequent char is i