Heim > Backend-Entwicklung > C++ > Dekodieren Sie die angegebene Zeichenfolge, indem Sie wiederkehrende Zeichen entfernen

Dekodieren Sie die angegebene Zeichenfolge, indem Sie wiederkehrende Zeichen entfernen

PHPz
Freigeben: 2023-08-25 21:29:06
nach vorne
1279 Leute haben es durchsucht

Dekodieren Sie die angegebene Zeichenfolge, indem Sie wiederkehrende Zeichen entfernen

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.

Problemstellung

Ein Programm zum Dekodieren einer bestimmten Zeichenfolge durch Entfernen doppelter Vorkommen.

HINWEIS − Ignorieren Sie keine Leerzeichen, die möglicherweise im Brief enthalten sind.

Beispiel Beispiel 1

Let us take the input string str = “abbbb accc”
Nach dem Login kopieren
The output obtained is: abb ac
Nach dem Login kopieren
Die Übersetzung von

Erklärung

lautet:

Erklärung

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.

Beispiel 2

Let us take the input string str = “ddddadddd”
Nach dem Login kopieren
The output obtained is: dad
Nach dem Login kopieren
Die Übersetzung von

Erklärung

lautet:

Erklärung

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.

Beispiel 3

Let us take the input string str = “abbccc”
Nach dem Login kopieren
The output obtained is: abc
Nach dem Login kopieren
Die Übersetzung von

Erklärung

lautet:

Erklärung

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.

Methode

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.

Algorithmus

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

Beispiel: C++-Programm

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;
}
Nach dem Login kopieren

Ausgabe

Input string: aaabbbb
The decoded string: aaabb
Nach dem Login kopieren

Fazit

Ä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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage