Heim > Backend-Entwicklung > C++ > In der C-Sprache die maximale Anzahl von Zeichen zwischen zwei identischen Zeichen in einer Zeichenfolge

In der C-Sprache die maximale Anzahl von Zeichen zwischen zwei identischen Zeichen in einer Zeichenfolge

王林
Freigeben: 2023-09-17 20:53:02
nach vorne
1225 Leute haben es durchsucht

In der C-Sprache die maximale Anzahl von Zeichen zwischen zwei identischen Zeichen in einer Zeichenfolge

Wir erhalten eine Buchstabenfolge. Das Array enthält mindestens zwei identische Zeichen. Die Aufgabe besteht hier darin, die maximale Zeichenanzahl zwischen zwei beliebigen identischen Zeichen zu finden. Wenn keine Duplikate von Zeichen vorhanden sind, wird -1 zurückgegeben.

Eingabe – String str = „abcdba“

Ausgabe – Die maximale Anzahl von Zeichen zwischen zwei beliebigen identischen Zeichen in der Zeichenfolge – 4

Erläuterung – Die einzigen wiederholten Zeichen sind „a“ und „b“. ', ihr Index ist -

1. 2‘a’ first index 0 last 5 , characters in between 5-0-1=4
2. ‘b’ first index 1 last 4 , characters in between 4-1-1=2
   Maximum character in between repeating alphabets : 4
Nach dem Login kopieren

Eingabe - string str = "AbcAaBcbC"

Ausgabe - die maximale Anzahl von Zeichen zwischen zwei beliebigen identischen Zeichen in einer Zeichenfolge - 5

Erklärung - Die wiederholten Zeichen sind 'A', 'b', 'c' und ihre Indizes lauten wie folgt:

1. ‘A’ first index 0 last 3 , characters in between 3-0-1=2
2. ‘b’ first index 1 last 7 , characters in between 7-1-1=5
3. ‘c’ first index 2 last 6 , characters in between 6-2-1=3
   Maximum character in between repeating alphabets : 5
Nach dem Login kopieren

Hinweis − Wenn die Eingabezeichenfolge „abcdefg“ ist, gibt es keine wiederholten Zeichen, sodass die Funktion -1 zurückgibt.

Die im folgenden Programm verwendete Methode lautet wie folgt:

  • Wir verwenden ein Zeichenarray, um die Zeichenfolge Str[] zu speichern.

  • Die Funktion maxChars(char str[],int n) wird zur Berechnung der Differenz verwendet zwischen zwei beliebigen wiederholten Buchstaben Die maximale Anzahl von Zeichen.

  • Wir initialisieren die Variable maxC auf -1.

  • Durchlaufen Sie das Array vom Anfang der Zeichenfolge in einer for-Schleife.

  • Durchlaufen Sie die verbleibenden Zeichen in einer verschachtelten for-Schleife und suchen Sie nach doppelten Zeichen (wenn str[i] == str[j]).

  • Wenn wahr, wird die Differenz zwischen Zeichen durch Subtrahieren des Index berechnet (temp = j – i – 1).

  • Wenn dieser Wert der bisher gefundene Maximalwert ist, speichern Sie ihn in maxC.

  • Nachdem Sie die gesamte Zeichenfolge durchlaufen haben, geben Sie maxC zurück.

Beispiel

Demonstration

#include <stdio.h>
#include <stdio.h>
#include <math.h>
int maxChars(char str[],int n){
   int size = n;
   int maxC = -1;
   for (int i = 0; i < n - 1; i++)
      for (int j = i + 1; j < n; j++)
         if (str[i] == str[j]){
            int temp=abs(j-i-1);
            maxC = maxC>temp?maxC:temp;
         }
   return maxC;
}
// Driver code
int main(){
   char Str[] = "AbcAaBcbC";
   printf("Maximum number of characters between any two same character in a string :%d",
   maxChars(Str,9) );
   return 0;
}
Nach dem Login kopieren

Ausgabe

Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert: -

Maximum number of characters between any two same character in a string : 5
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonIn der C-Sprache die maximale Anzahl von Zeichen zwischen zwei identischen Zeichen in einer Zeichenfolge. 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