C++-Strings sind Streams aus alphanumerischen Zeichen. Strings haben die folgenden Eigenschaften -
Eine Zeichenfolge besteht aus einem festen Satz von Zeichen
Die Zeichenfolgenposition beginnt standardmäßig beim 0. Index
Die Häufigkeit eines Zeichens bezieht sich auf die Häufigkeit, mit der es in einer Zeichenfolge vorkommt. Die Häufigkeit jedes Zeichens kann zwischen 0 (sofern es nicht vorkommt) und der Länge der Zeichenfolge liegen.
In diesem Artikel entwickeln wir einen Code, der eine Zeichenfolge als Eingabe verwendet und prüft, ob die Häufigkeit eines Zeichens gleich der Summe der Häufigkeiten aller anderen Zeichen in der Zeichenfolge ist. Sehen wir uns das Beispiel unten an, um dieses Thema besser zu verstehen
Beispiel 1 – str – „@!ab@!“
Ausgabe – wahr
Zum Beispiel enthält die folgende Beispielzeichenfolge auch Sonderzeichen, und die entsprechende Häufigkeit jedes Zeichens ist wie folgt -
@=4
! = 2
a=1
b = 1
Daher hat die folgende Zeichenfolge die folgenden anwendbaren Eigenschaften
Frequenz(@) = Frequenz(!) + Frequenz(a)+Frequenz(b)
4 = 2 + 1 + 1
In diesem Artikel erstellen wir eine Lösung, um die Anzahl der Vorkommen jedes Zeichens in einer Zeichenfolge zu zählen und weiter zu prüfen, ob es ein Zeichen mit der erforderlichen Häufigkeitsanzahl gibt
str.length()
Die Methode length() in C++ wird verwendet, um die Anzahl der Zeichen in einer Zeichenfolge zu zählen.
Eingabezeichenfolge str akzeptieren
Erstellen Sie ein Array mit 26 Buchstaben, um die Häufigkeit des Auftretens von Zeichen zu speichern. Es wird mit der Anzahl 0 initialisiert, die durch das Freq-Array
Verwenden Sie die Methode length(), um die Länge der Zeichenfolge zu berechnen, aufgezeichnet als len
Wenn die Zeichenfolgenlänge eine ungerade Zahl ist, wird ein falsches Flag zurückgegeben
Extrahieren Sie jedes Mal das Zeichen an der i-ten Position
Die Häufigkeit des Auftretens dieses Zeichens wird um 1 erhöht.
Überprüfen Sie nach der Berechnung der gesamten Länge der Zeichenfolge das Frequenzarray
Wenn die Häufigkeit eines Zeichens gleich der Summe der Häufigkeiten anderer Zeichen ist, wird der boolesche Flagwert „true“ zurückgegeben.
Mit dem folgenden C++-Codeausschnitt wird überprüft, ob ein Zeichen in einer bestimmten Eingabezeichenfolge mit einer Häufigkeit vorkommt, die der Summe der Häufigkeiten aller Zeichen entspricht -
//including the required libraries #include <bits/stdc++.h> using namespace std; //function to check if the frequency of occurrence of data is equivalent to other characters' frequency bool charwithequalFreq(string str) { //storing the frequency of characters int freq[26] = { 0 }; //length of string int len = str.length(); //if the length of the string is odd if (len % 2 == 1) return false; // Update the frequencies of the characters for (int i = 0; i < len; i++){ char ch = str[i]; freq[ch - 'a']+=1; } for (int i = 0; i < 26; i++) if (freq[i] == len / 2) { cout<<"Holds true for character "<<(char)(i+'a') <<"\n"; return true; } //none of the cases hold true return false; } //calling the frequency method int main() { //input string string str = "tweeet"; cout<< "Input String : "<<str<<"\n"; //check the frquency bool res = charwithequalFreq(str); if(!res){ cout<<"There is no such character"; } return 0; }
Input String : tweeet Holds true for character e
Zeichenpositionen in C++-Strings beginnen standardmäßig beim 0. Index. Ein String ist eine Speicherstruktur mit dynamischer Länge, in die Zeichen einfach und beliebig oft angehängt werden können. Jedem Zeichen in einer C++-Zeichenfolge ist eine Anzahl zugeordnet, die durch seine Häufigkeit dargestellt wird. Kartendatenstrukturen sind nützlich, wenn jeder Schlüssel einem bestimmten Wert zugeordnet ist.
Das obige ist der detaillierte Inhalt vonhat ein Zeichen, das der Summe der Häufigkeiten anderer Zeichen in der angegebenen Zeichenfolge entspricht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!