Heim  >  Artikel  >  Backend-Entwicklung  >  Überprüfen Sie, ob eine Zeichenfolge aufeinanderfolgende Buchstaben enthält und jeder Buchstabe nur einmal vorkommt

Überprüfen Sie, ob eine Zeichenfolge aufeinanderfolgende Buchstaben enthält und jeder Buchstabe nur einmal vorkommt

WBOY
WBOYnach vorne
2023-09-08 13:57:031164Durchsuche

Überprüfen Sie, ob eine Zeichenfolge aufeinanderfolgende Buchstaben enthält und jeder Buchstabe nur einmal vorkommt

Einführung

In C++ ist eine Zeichenfolge eine Folge von Zeichen, die unterschiedlich sein oder wiederholt werden können. Aufeinanderfolgende Zeichen sind Zeichen, die gleichzeitig auftreten und deren Differenz 1 beträgt. Beispielsweise sind die Zeichen a und b aufeinanderfolgend, weil sie zusammen erscheinen. Allerdings haben die Zeichen m und o einen Positionsunterschied von 2, sodass sie nicht aufeinanderfolgend sind.

In diesem Artikel entwickeln wir einen Code, der eine Zeichenfolge als Eingabe verwendet und „true“ anzeigt, wenn alle Zeichen in der Zeichenfolge aufeinander folgen. Sehen wir uns das Beispiel unten an, um dieses Thema besser zu verstehen

Beispielbeispiel

Beispiel 1 – str – „pqsr“

Ausgabe – Ja

In diesem Artikel entwickeln wir einen Code, um das aktuelle und das vorherige Zeichen aus der Zeichenfolge zu extrahieren. Anschließend wird weiter geprüft, ob sich die Zeichen in der Position unterscheiden, die nicht 1 entspricht, und dann wird der boolesche Wert „Falsch“ zurückgegeben.

Syntax

Die Übersetzung von

sort()

lautet:

sort()

sort(str.begin(), str.end())

Die Methode sort() in C++ wird verwendet, um die Zeichen in einer Zeichenfolge vom Anfang bis zum Ende in aufsteigender Reihenfolge anzuordnen.

Parameter

str – Die Eingabezeichenfolge

end – das letzte Zeichen, das in der Zeichenfolge erscheint

Begin – das erste Zeichen, das in der Zeichenfolge erscheint

length()

wird übersetzt als:

length()

Die Methode length() in C++ wird verwendet, um die Anzahl der Zeichen in der Zeichenfolge zu berechnen.

str.length()

Parameter

str – Die Eingabezeichenfolge

Algorithmus

  • Akzeptiert eine Eingabezeichenfolge, str, als Eingabe.

  • Die Eingabezeichenfolge wird mit der Methode sort() sortiert

  • Eine Iteration der Zeichenfolge wird unter Verwendung der for-Schleife i.
  • durchgeführt

  • Die Länge der Zeichenfolge wird mit der Methode length() berechnet und in der len-Variablen gespeichert.
  • Führen Sie eine for-Schleifeniteration für die Zeichenfolge durch. i ist die durchgeführte Iteration.
  • Extrahieren Sie jedes Mal die Zeichen an den Positionen ith, ch und i-1, ch1.
  • Wenn die Differenz zwischen diesen beiden Zeichen nicht gleich 1 ist, wird ein boolescher falscher Wert zurückgegeben
  • Wenn alle entsprechenden Zeichen die erforderliche Bedingung erfüllen, wird der boolesche Wert „true“ zurückgegeben.
  • Dieser Wert wird als boolesches Flag zurückgegeben und in der Variablen res gespeichert. Wenn der Wert wahr ist, wird eine Zeichenfolge mit aufeinanderfolgenden Zeichen gedruckt.
  • Beispiel

Der folgende C++-Codeausschnitt wird verwendet, um eine Beispielzeichenfolge einzugeben und zu berechnen, ob alle in der Zeichenfolge erscheinenden Zeichen aufeinanderfolgend sind.

//including the required libraries 
#include <bits/stdc++.h>
using namespace std;
 
//function to check of characters consecutive
bool validateString(string str) {
 
   //length of the string
   int len = str.length();
 
   // sorting the given string
   sort(str.begin(), str.end());
 
   // Iterate for every index and
   // check for the condition
   for (int i = 1; i < len; i++) {
 
      //extract characters at the required pos 
      char ch = str[i];
      char ch1 = str[i-1];
      if (ch-ch1 != 1)
      //in case characters are not consecutive
         return false;
   }
   //if condition holds
    return true;
}
 
//calling the main method
int main() {
 
   // 1st example
   string str = "mpon";
   cout << "Input String : " <<str << " \n";
   bool res = validateString(str);
   if (res)
       cout << "Yes, the string contains only consecutive characters\n";
   else
       cout << "No, the string doesn't contain only consecutive characters.\n";
   return 0;
}

Ausgabe

Input String − mpon 
Yes, the string contains only consecutive characters

Fazit

Zeichen, die kontinuierlich in einer Zeichenfolge erscheinen, sind Buchstaben, die gleichzeitig erscheinen. Dies kann erreicht werden, indem die Zeichenfolge von Anfang bis Ende sortiert wird. Charaktere an aufeinanderfolgenden Positionen können leicht verglichen und überprüft werden, wie viele Positionen sich zwischen ihnen unterscheiden. Dies kann verwendet werden, um Informationen darüber zu erfassen, ob eine Zeichenfolge kontinuierlich ist.

Das obige ist der detaillierte Inhalt vonÜberprüfen Sie, ob eine Zeichenfolge aufeinanderfolgende Buchstaben enthält und jeder Buchstabe nur einmal vorkommt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen