C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で2番目に頻度の高い文字を見つけるプログラム


この問題では、文字列strが与えられます。私たちのタスクは、C++で2番目に頻度の高い文字を見つけるプログラムを作成することです。 。

問題を理解するために例を見てみましょう

入力

str = “abaacabcba”

出力

‘b’

ソリューションアプローチ

文字列内で2番目に多い文字を検索します。文字列内の各文字の頻度を格納するために使用されるカウント配列chatCountを維持する必要があります。次に、配列を使用して、配列内のmaxおよびsecondMax頻度の文字を見つけます。そして、2番目に頻繁な文字を表示します。

ソリューションの動作を説明するプログラム

#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

  1. 文字列内の文字の出現回数を検索するC#プログラム

    文字列が-だとしましょう String s =mynameistomhanks; 次に、新しい配列を作成し、上記で宣言した文字列を使用して新しいメソッドを渡します。これにより、文字列内の文字の出現回数が計算されます。 static voidcalculate(String s、int [] cal){for(int i =0; i

  2. 文字列内で最も頻繁に使用される文字を検索するPythonプログラム

    文字列内で最も頻繁に使用される文字を検索する必要がある場合は、空の辞書が作成され、文字列内の要素が繰り返されます。辞書で文字が見つかった場合は増分であり、それ以外の場合は1に割り当てられます。辞書内の値の最大値が見つかり、変数に割り当てられます。 例 以下は同じもののデモンストレーションです my_string = "Python-Interpreter" print ("The string is : ") print(my_string) max_frequency = {} for i in my_string:    i