Angenommen, wir haben eine Zeichenfolge S, die n Kleinbuchstaben enthält. Eine Zeichenfolge ist eine streng alphabetische Zeichenfolge, wenn sie den folgenden Regeln folgt:
Schreiben Sie die leere Zeichenfolge in T
Nehmen Sie bei Schritt i die lateinischen Buchstaben heraus den i-ten Kleinbuchstaben in der Tabelle und fügen Sie ihn ein Die linke Seite der Zeichenfolge T oder die rechte Seite der Zeichenfolge T (c ist der i-te Buchstabe des lateinischen Alphabets).
Wir müssen prüfen, ob S streng in alphabetischer Reihenfolge vorliegt.
Um dieses Problem zu lösen, müssen wir Zeichenfolgen manipulieren. Strings in Programmiersprachen sind Ein Zeichenstrom, der in einem bestimmten Array-ähnlichen Datentyp gespeichert ist. mehrsprachig Geben Sie Zeichenfolgen als bestimmte Datentypen an (z. B. Java, C++, Python); und mehrere andere Sprachen Geben Sie die Zeichenfolge als Zeichenarray an (z. B. C). Strings sind beim Programmieren nützlich, weil sie Typischerweise der bevorzugte Datentyp in einer Vielzahl von Anwendungen und wird als Eingabedatentyp verwendet und Ausgabe. Es gibt verschiedene String-Operationen wie String-Suche, Teilstring-Generierung, String-Stripping-Operation, String-Übersetzungsoperation, String-Ersetzungsoperation, String Rückwärtsbetrieb und so weiter. Schauen Sie sich den Link unten an, um zu sehen, wie Strings funktionieren Wird in C/C++ verwendet.
https://www.tutorialspoint.com/cplusplus/cpp_strings.htm
https://www.tutorialspoint.com/cprogramming/c_strings. htm
Wenn also die Eingabe für unser Problem etwa S = „ihfcbadeg“ ist, dann ist die Ausgabe „True“.
Um dieses Problem zu lösen, folgen wir den folgenden Schritten -
len := size of S for initialize i := len, when i >= 1, update (decrease i by 1), do: if S[l] is the i th character, then: (increase l by 1) otherwise when S[r] is the ith character, then: (decrease r by 1) Otherwise Come out from the loop if i is same as 0, then: return true Otherwise return false
Sehen wir uns zum besseren Verständnis die folgende Implementierung an -
#include <bits/stdc++.h> using namespace std; bool solve(string S){ int len = S.size(), l = 0, r = len - 1, i; for (i = len; i >= 1; i--){ if (S[l] - 'a' + 1 == i) l++; else if (S[r] - 'a' + 1 == i) r--; else break; } if (i == 0) return true; else return false; } int main(){ string S = "ihfcbadeg"; cout << solve(S) << endl; }
"ihfcbadeg"
1
Das obige ist der detaillierte Inhalt vonC++-Programm zum Überprüfen, ob die Zeichenfolge streng alphabetisch geordnet ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!