


Konvertieren Sie eine Zeichenfolge in eine Form, die abcd..z als Teilsequenz enthält
Die String-Konvertierung (auch als String-Konvertierung bezeichnet) ist eine Operation in C++, die das Ergebnis im Ausgabearray speichert, nachdem der gesamte Prozess ausgeführt wurde. In C++ gibt es eine Funktion namens „transform()“, die im Verzeichnis der C++-Umgebung vorhanden ist und mit der wir eine Zeichenfolge in eine neue Zeichenfolge konvertieren können.
Es gibt zwei Formen von Konvertierungsfunktionen −
Unäre Operation
wird auf jedes Element des Eingabearrays angewendet.
Nachdem der Vorgang abgeschlossen ist, werden die Ergebnisse in einem Ausgabearray gespeichert.
-
Die Operation
Binäre Operationen
Operationen gelten für jedes Element eines bestimmten Arrays.
Das erste Eingabeelement und das zweite entsprechende Eingabeelement nehmen an der Operation teil.
Die Ausgabedaten werden in einem Ausgabearray gespeichert.
Subsequence-Strings sind brandneue Strings, die durch die Ausführung verschiedener Vorgänge am Eingabestring (z. B. Löschen) generiert werden. Bei Teilsequenzzeichenfolgen wird der Vorgang ausgeführt, ohne dass sich dies auf die übrigen Zeichen auswirkt.
Für die String-Konvertierung enthält die Eingabe einen Operationsstring der Länge n+1. Die Originalcharaktere gehören zur Serie a bis z. Die Länge der Druckzeichenfolge wird hier als n behandelt, was eine Ausgabezeichenfolge ist.
In diesem Artikel erfahren wir, wie man in einer C++-Umgebung einen String so umwandelt, dass er abcd….z als Teilsequenz hat.
Rekursiver Algorithmus generiert nachfolgende Zeichenfolgen
Durch die Verwendung eines rekursiven Ansatzes finden Sie unten einen möglichen Algorithmus für eine nachfolgende Zeichenfolge. Dies ist eine bestimmte Zeichenfolge und T ist die Zeit, die zum Abschließen des Vorgangs benötigt wird.
Schritt 1 – Zählen Sie die Anzahl der Vorkommen.
Schritt 2 – Wenn i = Länge(n) und j = Länge(T).
Schritt 3− Dann kehren Sie zu 1 zurück.
Schritt 4 – Das Ende.
Schritt 5 – Wenn i = Länge(S).
Schritt 6 – Dann 0 zurückgeben.
Schritt 7 – Das Ende.
Schritt 8 – Zählen
Schritt 9 – Wenn, j
Schritt 10 – Count
Schritt 11 – Das Ende.
Schritt 12 – Count
Schritt 13 – Rückgabezählung.
Schritt 14 – Das Ende.
Syntax für nachfolgende Arrays
Here, we have two given sequences. X and Y. Initialize a table with a dimension of X.length * Y.length X.label1 = X Y.label2 = Y CS1[0][] = 0 CS2[][0] = 0 Start from CS[1][1] Compare X[i] and Y[j] If X[i] = Y[j] CS[i][j] = 1 + CS[i-1, j-1] Point an arrow to CS[i][j] Else CS[i][j] = max(CS[i-1][j], CS[i][j-1]) Point an arrow to max(CS[i-1][j], CS[i][j-1])
Hier erstellen wir eine grundlegende Arbeitssyntax für nachfolgende Arrays. Wenn es zwei Sequenzen gibt, müssen wir die folgenden Schritte ausführen, um die Ausgabe zu erhalten.
So folgen Sie
Methode 1: Zeichenfolge mit C++ konvertieren
Methode 2 zur Durchführung unärer Operationen an Strings mit C++
Methode 3 zur Verwendung von C++ zum Ausführen binärer Operationen an Zeichenfolgen
Drucken Sie alle möglichen Folgezeichenfolgen mit C++ aus
Methode 5 zum Konvertieren einer Zeichenfolge mit abcd….z als Teilsequenz mit C++
String mit C++ konvertieren
In diesem C++-Code erstellen wir eine neue Zeichenfolge und entfernen alle Vokale aus der Eingabezeichenfolge. Anstelle dieser Vokale wird # hinzugefügt.
Beispiel 1
#include <bits/stdc++.h> using namespace std; string change_case(string r) { int l = r.length(); for(int i = 0 ; i < l ; i++) { if(r[i] >= 'a' && r[i] <= 'z') r[i] = r[i] - 32; else if(r[i] >= 'A' && r[i] <= 'Z') r[i] = r[i] + 32; } return r; } string delete_vowels(string a) { string temp = ""; int l = a.length(); for(int i = 0 ; i < l ; i++) { if(a[i] != 'a' && a[i] != 'e' && a[i] != 'i' && a[i] != 'o' && a[i] != 'u' && a[i] != 'A' && a[i] != 'E' && a[i] != 'O' && a[i] != 'U'&& a[i] != 'I') temp += a[i]; } return temp; } string insert_hash(string a) { string temp = ""; int l = a.length(); for(int i = 0 ; i < l ; i++) { if((a[i] >= 'a' && a[i] <= 'z') || (a[i] >= 'A' && a[i] <= 'Z')) temp = temp + '#' + a[i]; else temp = temp + a[i]; } return temp; } void transformSting(string a) { string b = delete_vowels(a); string c = change_case(b); string d = insert_hash(c); if(d=="") cout<<"-1"<<endl; else cout << d<<endl; } int main() { string a = "RudraDevDas!!"; string b = "aeiou"; transformSting(a); transformSting(b); return 0; }
Ausgabe
#r#D#R#d#V#d#S!! -1
Verwenden Sie C++, um unäre Operationen an Zeichenfolgen auszuführen
In diesem speziellen Code zeigen wir, wie man unäre Operationen am Eingabearray durchführt. Diese Funktion akzeptiert einen Zeiger auf die Start- und Endposition einer einzelnen Eingabe. Und am Anfang des Ausgabearrays operieren.
Die chinesische Übersetzung vonBeispiel 2
lautet:Beispiel 2
#include <iostream> #include <algorithm> using namespace std; int op_increment (int x) { x = x + 1; return x; } int main () { int n = 5; int input_array[] = {7, 16, 10, 97, 2001}; int output_array[n]; std::cout << "Input array present here:"; for(int i=0; i<5; i++){ cout << ' ' << input_array[i]; } cout << '\n'; transform (input_array, input_array+5, output_array, op_increment); std::cout << "The output array now contains with:"; for(int i=0; i<5; i++){ cout << ' ' << output_array[i]; } cout << '\n'; return 0; }
Ausgabe
Input array present here: 7 16 10 97 2001 The output array now contains with: 8 17 11 98 2002
Verwenden Sie C++, um binäre Operationen an Zeichenfolgen auszuführen
In diesem speziellen Code zeigen wir, wie man binäre Operationen am Eingabearray durchführt. Die Funktion transform() fügt einen Zeiger zwischen dem Startpunkt und dem ersten Eingabearray hinzu. Denken Sie daran, dass binäre Operationen immer mit zwei Eingabedatensätzen arbeiten.
Die chinesische Übersetzung vonBeispiel 3
lautet:Beispiel 3
#include <iostream> #include <algorithm> #include <vector> using namespace std; int op_add (int i, int j) { return i+j; } int main () { int n = 5; int arr1[] = {7, 16, 10, 2001, 1997}; int arr2[] = {1, 2, 3, 4, 5}; int output[n]; std::cout << "Input data in array1:"; for(int i=0; i<n; i++){ cout << ' ' << arr1[i]; } cout << '\n'; std::cout << "Input data in array2:"; for(int i=0; i<n; i++){ cout << ' ' << arr2[i]; } cout << '\n'; std::transform (arr1, arr1+n, arr2, output, op_add); std::cout << "Output array is here now:"; for(int i=0; i<5; i++){ cout << ' ' << output[i]; } cout << '\n'; return 0; }
Ausgabe
Input data in array1: 7 16 10 2001 1997 Input data in array2: 1 2 3 4 5 Output array is here now: 8 18 13 2005 2002
Drucken Sie alle nachfolgenden Zeichenfolgen mit C++ aus
Wenden Sie die Konzepte der Auswahl und Nichtauswahl an, um alle Teilsequenzen eines bestimmten Arrays herauszufinden. Während dieses Vorgangs können einige Zeichen entfernt werden, ohne dass sich die Reihenfolge der Elemente ändert. Hier beträgt die zeitliche Komplexität dieses Prozesses O(2^n) und die räumliche Komplexität O(n).
Beispiel 4
#include <bits/stdc++.h> using namespace std; void printSubsequence(string input, string output) { if (input.empty()) { cout << output << endl; return; } printSubsequence(input.substr(1), output + input[0]); printSubsequence(input.substr(1), output); } int main() { string output = ""; string input = "rudraabonikoaa"; printSubsequence(input, output); return 0; }
Ausgabe
rudraabonikoaa rudraabonikoa rudraabonikoa rudraaboniko rudraabonikaa rudraabonika rudraabonika rudraabonik rudraabonioaa rudraabonioa rudraabonioa rudraabonio rudraaboniaa rudraabonia rudraabonia
Konvertieren Sie eine Zeichenfolge, um abcd…z als Teilsequenz zu haben
Dies ist ein spezieller Prozess zum Konvertieren einer Zeichenfolge in eine Form, die abcd...z als Teilsequenz enthält.
Initialisierungszeichen.
Wenn die Länge weniger als 26 beträgt, wird „false“ zurückgegeben.
Iterieren Sie die Schleife von 0 bis s.size() - 1.
Wenn das Zeichen z erreicht, unterbrechen Sie die Schleife.
Wenn das aktuelle Zeichen kleiner als s oder gleich dem Zeichen ist.
Ersetzen Sie die Schrittweite des aktuellen Zeichens durch 1.
Gibt false zurück, wenn das Zeichen kleiner oder gleich z ist.
Andernfalls geben Sie true zurück.
在这个过程中,时间复杂度为O(n),辅助空间为O(1)。这里,n是特定字符串的长度。
Example 5
的中文翻译为:示例5
#include <bits/stdc++.h> using namespace std; bool transformString(string& s) { char ch = 'a'; if (s.size() < 26) return false; for (int i = 0; i < s.size(); i++) { if (int(ch) > int('z')) break; if (s[i] <= ch) { s[i] = ch; ch = char(int(ch) + 1); } } if (ch <= 'z') return false; return true; } int main() { string str = "aaaaaaaaaaaaaaaaaaaaaaaaaaa"; if (transformString(str)) cout << str << endl; else cout << "Not Possible" << endl; return 0; }
输出
abcdefghijklmnopqrstuvwxyza
结论
在本文中,我们学习了使用C++环境进行字符串转换及其不同形式。通过遵循特定的算法和语法,我们检查和构建了一些不同的C++代码,并了解了如何转换字符串,使其具有abcd...z作为子序列。
Das obige ist der detaillierte Inhalt vonKonvertieren Sie eine Zeichenfolge in eine Form, die abcd..z als Teilsequenz enthält. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So konvertieren Sie einen String mit der Methode parseBoolean() der Boolean-Klasse in einen booleschen Wert. Bei der Java-Programmierung kommt es häufig vor, dass Sie einen String in einen booleschen Wert konvertieren müssen. Die Boolean-Klasse in Java bietet eine sehr praktische Methode – parseBoolean(), die Strings in entsprechende Boolean-Werte konvertieren kann. In diesem Artikel wird die Verwendung dieser Methode ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Zuerst müssen wir die Methode parseBoolean() verstehen

Lernen Sie schnell, Zeichenfolgen in Arrays in der Go-Sprache zu konvertieren. Insbesondere bei der Verarbeitung von Daten müssen Sie häufig Zeichenfolgen in Arrays konvertieren. In diesem Artikel erfahren Sie, wie Sie schnell lernen, wie man in der Go-Sprache Zeichenfolgen in Arrays umwandelt, sodass Sie ähnliche Probleme problemlos lösen können. In der Go-Sprache können wir die vom Strings-Paket bereitgestellte Split-Funktion verwenden, um einen String entsprechend dem angegebenen Trennzeichen in ein Array aufzuteilen. Das Folgende ist ein

Konvertieren Sie eine Zeichenfolge mithilfe der Java-Funktion Double.parseDouble() in eine Gleitkommazahl mit doppelter Genauigkeit. In der Java-Programmierung müssen wir häufig eine Zeichenfolge in einen numerischen Typ konvertieren. Für Gleitkommazahlen mit doppelter Genauigkeit bietet Java eine sehr praktische Methode, die Funktion Double.parseDouble(). In diesem Artikel wird die Verwendung dieser Funktion vorgestellt und einige Beispielcodes angehängt, um den Lesern zu helfen, diese Funktion besser zu verstehen und zu verwenden. Die Double.parseDouble()-Funktion ist

Die append()-Methode der StringBuilder-Klasse akzeptiert einen String-Wert und fügt ihn dem aktuellen Objekt hinzu. String-Wert in StringBuilder-Objekt konvertieren – String-Wert abrufen. Hängen Sie mit der Methode append() an, um die Zeichenfolge an den StringBuilder zu übertragen. Beispiel Im folgenden Java-Programm konvertieren wir ein String-Array in ein einzelnes StringBuilder-Objekt. Echtzeitdemonstration publicclassStringToStringBuilder{ publicstaticvoidmain(Stringargs[]){&a

Titel: Verwenden Sie PHP, um Zeichenfolgen in Hexadezimalzahlen umzuwandeln und eine umgekehrte Ausgabe zu erzielen. In der täglichen Entwicklung müssen wir Zeichenfolgen manchmal zur Datenübertragung oder Verschlüsselung in Hexadezimaldarstellungen konvertieren. In diesem Artikel wird erläutert, wie Sie mit PHP eine Zeichenfolge in eine Hexadezimalzahl umwandeln und die umgekehrte Ausgabefunktion realisieren. Zuerst müssen wir eine PHP-Funktion schreiben, um eine Zeichenfolge in eine Hexadezimalzahl umzuwandeln. Das Folgende ist ein Beispielcode: functionstringToHex($string)

So konvertieren Sie eine Zeichenfolge mithilfe der Funktion „upper()“ von Python in Großbuchstaben. Ein bestimmtes Codebeispiel ist erforderlich. Python ist eine einfache und leicht zu erlernende Programmiersprache, die viele integrierte Funktionen zur Verarbeitung von Zeichenfolgen bereitstellt. Eine der am häufigsten verwendeten Funktionen ist die Funktion „upper()“, die alle Buchstaben in einer Zeichenfolge in Großbuchstaben umwandelt. In diesem Artikel wird die Verwendung der Upper()-Funktion von Python ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Lassen Sie uns zunächst die Verwendung der Funktion „upper()“ verstehen. hoch

Konvertieren Sie einen String mit der PHP-Funktion „strtolower“ in Kleinbuchstaben. In PHP gibt es viele Funktionen, die zum Konvertieren der Groß- und Kleinschreibung eines Strings verwendet werden können. Eine der am häufigsten verwendeten Funktionen ist strtolower(). Diese Funktion wandelt alle Zeichen in einer Zeichenfolge in Kleinbuchstaben um. Hier ist ein einfacher Beispielcode, der zeigt, wie man mit der Funktion strtolower() einen String in Kleinbuchstaben umwandelt: <?php//original string $string="

Verwenden Sie die Funktion strconv.ParseInt, um eine Zeichenfolge in einer bestimmten Basis in eine Ganzzahl umzuwandeln. Obwohl das strconv-Paket in der Go-Sprache viele Funktionen für die Typkonvertierung bereitstellt, benötigen wir manchmal immer noch eine benutzerdefinierte Typkonvertierung. Wenn wir eine Zeichenfolge in einer bestimmten Basis in eine Ganzzahl konvertieren müssen, können wir sie mit der Funktion strconv.ParseInt vervollständigen. Zu den Parametern der Funktion strconv.ParseInt gehören die zu konvertierende Zeichenfolge, die angegebene Basis und die Anzahl der Ziffern in der resultierenden Ganzzahl. es gibt die Konvertierung zurück
