Der Zweck dieses Artikels besteht darin, ein Programm zum Dekodieren einer bestimmten Zeichenfolge durch Entfernen wiederkehrender Zeichen zu implementieren.
Wie Sie wissen, was eine Zeichenfolge ist, ist eine Zeichenfolge nichts anderes als eine Ansammlung von Zeichen. Darüber hinaus gibt es keine Begrenzung für die Anzahl der Zeichenwiederholungen in einer Zeichenfolge. Das gleiche Zeichen kann in einer Zeichenfolge mehrmals vorkommen. In diesem Artikel werden wir eine Möglichkeit finden, eine bestimmte codierte Zeichenfolge str zu dekodieren, indem wir doppelte Vorkommen entfernen.
Das Ziel besteht darin, die bereitgestellte Zeichenfolge str zu dekodieren, die mit einem Vorkommen von „a“, zwei Vorkommen von „b“, drei Vorkommen von „c“ und vier Vorkommen von „d“ verarbeitet wurde 26 Vorkommen der „z“-Kodierung.
Ein Programm zum Dekodieren einer bestimmten Zeichenfolge durch Entfernen doppelter Vorkommen.
HINWEIS − Ignorieren Sie keine Leerzeichen, die möglicherweise im Brief enthalten sind.
Let us take the input string str = “abbbb accc”
The output obtained is: abb ac
Jeder Buchstabe wird entsprechend der Häufigkeit geschrieben, mit der er im englischen Alphabet vorkommt. Die resultierende Zeichenfolge lautet „abb acc“, da der Buchstabe b viermal wiederholt wird. Der Buchstabe a wird zweimal wiederholt, und schließlich wird der Buchstabe c dreimal wiederholt.
Auch in diesem Fall werden Leerzeichen nicht ignoriert.
Let us take the input string str = “ddddadddd”
The output obtained is: dad
Jeder Buchstabe wird entsprechend der Häufigkeit geschrieben, mit der er im englischen Alphabet vorkommt. Die resultierende Zeichenfolge lautet „dad“, da der Buchstabe d acht Mal wiederholt wird und der Buchstabe a nur einmal vorkommt.
In diesem Fall gibt es keine Leerzeichen zwischen den Zeichen.
Let us take the input string str = “abbccc”
The output obtained is: abc
Jeder Buchstabe wird unter Berücksichtigung der Häufigkeit geschrieben, mit der er im englischen Alphabet vorkommt. Die resultierende Zeichenfolge ist „abc“, da der Buchstabe a nur einmal vorkommt. Der Buchstabe b wird zweimal wiederholt und schließlich wird der Buchstabe c dreimal wiederholt.
In diesem Fall gibt es keine Leerzeichen zwischen den Zeichen.
Um eine bestimmte Zeichenfolge durch Entfernen wiederholter Zeichen zu dekodieren, wenden wir in diesem Artikel die folgende Methode an.
Die Methode zur Lösung dieses Problems und zur Dekodierung einer bestimmten Zeichenfolge durch Entfernen doppelter Vorkommen basiert auf der Iteration der Zeichenfolge.
Das heißt, das obige Problem kann gelöst werden, indem die Zeichenfolge str iteriert und jedes Zeichen in die Ausgabezeichenfolge verschoben und dann um diese Position vorwärts verschoben wird, um das nächste Zeichen zu finden.
Nachstehend finden Sie den Algorithmus zum Drucken der Anzahl der in einer bestimmten Zeichenfolge vorhandenen CamelCase-Zeichen
Um dieses Problem zu beheben, befolgen Sie bitte die unten aufgeführten Anweisungen -
Erster Schritt − Start
Schritt 2 – Zeichenfolge definieren
Schritt 3 – Erstellen Sie eine Variable namens result mit dem Anfangswert einer leeren Zeichenfolge, um die Ausgabezeichenfolge zu speichern.
Schritt 4 – Funktion findOccurences(char a1) erstellen und nachfolgende Operationen ausführen –
Schritt 5 – Wenn der Wert von a1 zwischen a und z liegt, geben Sie den Wert von a1 als „a“ zurück. Wenn der Wertebereich von a1 nicht im Bereich A bis Z liegt, wird der Wert von a1 als „Z“ zurückgegeben. Wenn nicht, wird 0 zurückgegeben.
Schritt 6 – Definieren Sie die Funktion decodeTheString(string s), um die Zeichenfolge s zu dekodieren
Schritt 7 – Nachdem Sie die oben genannten Schritte abgeschlossen haben, drucken Sie das String-Ergebnis als endgültigen String aus.
Schritt 8 − Stopp
Dies ist ein C++-Programm, das den oben beschriebenen Algorithmus implementiert, um eine bestimmte Zeichenfolge durch Entfernen wiederkehrender Zeichen zu dekodieren
// C++ program for our above algorithm #include <bits/stdc++.h> using namespace std; // Function to count the number of occurences of each character int findOccurences(char a1){ // If the character is a lower case , that is [a-z] if (a1 <= 'z' && a1 >= 'a') { return a1 - 'a'; } // If the character is an uppercase, that is [A-Z] else if (a1 <= 'Z' && a1 >= 'A') { return a1 - 'A'; } // If the character is something else like a punctuation mark then return 0; } // Function used for decoding the given string str void decodeTheString(string s){ string result = ""; // Iterate through the provided string str for (int i = 0; i < s.length(); i++) { result.push_back(s[i]); // Find the index i of the next characterto be printed i += findOccurences(s[i]); } cout << "The decoded string: " << result << endl; } int main(){ string s = "aaabbbb"; cout << "Input string: "<< s << endl; decodeTheString(s); return 0; }
Input string: aaabbbb The decoded string: aaabb
Ähnlich können wir jede beliebige Zeichenfolge dekodieren, indem wir doppelte Vorkommen davon entfernen.
Dieser Artikel löst die Herausforderung des Dekodierens einer bestimmten Zeichenfolge, indem deren doppelte Vorkommen entfernt werden. Hier wird der C++-Programmiercode zusammen mit dem Algorithmus zum Dekodieren einer bestimmten Zeichenfolge durch Entfernen doppelter Vorkommen bereitgestellt.
Das obige ist der detaillierte Inhalt vonDekodieren Sie die angegebene Zeichenfolge, indem Sie wiederkehrende Zeichen entfernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!