


Machen Sie binäre Zeichenfolgen gleich, indem Sie das zweite Bit wiederholt ersetzen
In diesem Problem müssen wir die Zeichenfolge bin1 in die Zeichenfolge bin2 konvertieren, indem wir das zweite Zeichen der Zeichenfolge bin1 durch den minimalen oder maximalen Wert zwischen dem ersten und zweiten Zeichen ersetzen und das erste Zeichen löschen.
Da wir das erste Zeichen entfernen müssen, müssen wir sicherstellen, dass die letzten len2 − 1 Zeichen in den beiden Zeichenfolgen gleich sind. Darüber hinaus müssen wir sicherstellen, dass wir das erste Zeichen der zweiten Zeichenfolge erhalten können, indem wir die angegebene Operation am Startzeichen der bin1-Zeichenfolge ausführen.
Problemstellung – Wir erhalten bin1- und bin2-Binärzeichenfolgen mit der Länge len1 bzw. len2. Wir müssen prüfen, ob wir die Zeichenfolge „bin1“ in die Zeichenfolge „bin2“ konvertieren können, indem wir den folgenden Vorgang ausführen.
Aktualisieren Sie das zweite Zeichen der bin1-Zeichenfolge mit dem Mindest- oder Maximalwert des ersten und zweiten Zeichens der bin1-Zeichenfolge.
Entfernen Sie das erste Zeichen der bin1-Zeichenfolge und die Zeichenfolgengröße wird jedes Mal um 1 reduziert.
Beispiel
Eintreten
bin1 = "0101011"; bin2 = "011";
Ausgabe
Yes
Anleitung – Wir können Folgendes tun, um die Zeichenfolge „bin1“ in die Zeichenfolge „bin2“ zu konvertieren.
Wir können das zweite Zeichen durch min(0,1) ersetzen und das erste Zeichen löschen. Daher wird die Zeichenfolge zu 001011.
Wir führen den gleichen Vorgang noch einmal durch und die Zeichenfolge wird zu 01011.
In den nächsten paar Operationen wird die Zeichenfolge zu 0011 bzw. 011.
Eintreten
bin1 = "1110"; bin2 = "1110";
Ausgabe
Yes
Erklärung – Die angegebenen Zeichenfolgen sind bereits gleich.
Eintreten
bin1 = "101101"; bin2 = "1110";
Ausgabe
No
Erläuterung – Wir können die Zeichenfolge „bin1“ nicht in die Zeichenfolge „bin2“ konvertieren, indem wir die angegebene Operation ausführen.
Methode 1
Wenn die Länge der Zeichenfolge „bin1“ kleiner ist, können wir sie nicht in die Zeichenfolge „bin2“ konvertieren.
In anderen Fällen bleiben die letzten len2 − 1 Zeichen der bin1-Zeichenfolge unverändert, da wir keine Operationen daran ausführen. Daher sollten die letzten len2 − 1 Zeichen in beiden Zeichenfolgen gleich sein.
Wenn das erste Zeichen der Zeichenfolge bin2 „0“ ist, sollten wir außerdem das Startzeichen der Zeichenfolge bin1 min() verwenden, und es sollte mindestens eine „0“ enthalten.
Wenn das erste Zeichen in der bin2-Zeichenfolge „1“ ist, sollten wir die max()-Operation für das Startzeichen der bin2-Zeichenfolge ausführen und es sollte mindestens eine „1“ enthalten.
Algorithmus
Schritt 1 - Wenn die Länge von bin1 kleiner als die Länge der Zeichenfolge bin2 ist, geben Sie „false“ zurück.
Schritt 2 – Durchqueren Sie die bin2-Zeichenfolge ab der zweiten Position.
Schritt 3 – Wenn bin2[p] nicht gleich bin1[p + len1 – len2] ist, geben Sie „false“ zurück, da die letzten len2 -1 Zeichen nicht gleich sind.
Schritt 4 – Durchlaufen Sie die ersten Zeichen len1 – len2 + 1 und prüfen Sie, ob sie bin2[0]-Zeichen enthalten. Wenn ja, geben Sie true zurück.
Schritt 5 – Geben Sie am Ende der Funktion false zurück.
Beispiel
#include <bits/stdc++.h> using namespace std; bool convertAtoB(string bin1, string bin2) { int len1 = bin1.size(), len2 = bin2.size(); // When length 1 is less than length 2 if (len1 < len2) { return false; } // Check whether substring bin1[p + len1 - len2]... bin1[len1] and bin2[1]... bin2[len2] for (int p = 1; p < len2; p++) { if (bin1[p + len1 - len2] != bin2[p]) { return false; } } // Check whether substring bin1[0... len1 - len2 - 1] contains bin2[0] for (int p = 0; p < len1 - len2 + 1; p++) { if (bin1[p] == bin2[0]) { return true; } } return false; } int main() { string bin1 = "0101011"; string bin2 = "011"; bool res = convertAtoB(bin1, bin2); if (res == true) { cout << "YES, It is possible to convert bin1 to bin2."; } else { cout << "NO, It is not possible to convert bin1 to bin2."; } }
Ausgabe
YES, It is possible to convert bin1 to bin2.
Zeitkomplexität – O(N), um Zeichenfolgenzeichen abzugleichen.
Raumkomplexität – O(1), da wir keinen dynamischen Raum verwenden.
Wir haben gelernt, die erste Binärzeichenfolge in die zweite Binärzeichenfolge umzuwandeln, indem wir der angegebenen Operation folgen. Ein Programmierer könnte versuchen zu prüfen, ob eine Zeichenfolge in eine andere konvertiert werden kann, indem er das letzte Zeichen durch den minimalen oder maximalen Wert des letzten und letzten zweiten Zeichens ersetzt und das letzte Zeichen entfernt.
Das obige ist der detaillierte Inhalt vonMachen Sie binäre Zeichenfolgen gleich, indem Sie das zweite Bit wiederholt ersetzen. 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



PyCharm ist eine häufig verwendete integrierte Python-Entwicklungsumgebung mit umfangreichen Funktionen und Tastenkombinationen, die Entwicklern dabei helfen können, die Programmiereffizienz zu verbessern. Im täglichen Programmierprozess kann die Beherrschung der Fähigkeiten zum Ersetzen von Tastenkombinationen in PyCharm Entwicklern dabei helfen, Aufgaben schneller zu erledigen. In diesem Artikel werden einige häufig verwendete Ersatz-Tastenkombinationen in PyCharm vorgestellt, mit denen Sie Ihre Programmiergeschwindigkeit auf einfache Weise verbessern können. 1.Strg+R-Ersetzung In PyCharm können Sie die Tastenkombination Strg+R verwenden, um Ersetzungsvorgänge durchzuführen.

Viele Freunde, die den Edge-Browser unter Win10 verwenden, sind auf das Problem gestoßen, dass Webseiten wiederholt geöffnet werden, was Kopfschmerzen bereitet. Werfen wir einen Blick auf die detaillierten Lösungen unten. Was tun, wenn der Edge-Browser immer wieder Webseiten öffnet: 1. Rufen Sie den Edge-Browser auf und klicken Sie auf die drei Punkte in der oberen rechten Ecke. 2. Klicken Sie in der Taskleiste auf „Einstellungen“. 3. Suchen Sie nach „Microsoft Edge-Öffnungsmethode“. 4. Klicken Sie auf das Dropdown-Menü und wählen Sie „Startseite“. 5. Starten Sie den Browser nach Abschluss neu, um das Problem zu beheben.

Verwenden Sie die StringBuilder.replace()-Funktion von Java, um einen bestimmten Zeichenbereich zu ersetzen. In Java stellt die StringBuilder-Klasse die Methode replace() bereit, mit der ein bestimmter Zeichenbereich in einer Zeichenfolge ersetzt werden kann. Die Syntax dieser Methode lautet wie folgt: publicStringBuilderreplace(intstart,intend,Stringstr) Die obige Methode wird verwendet, um den Indexstern von zu ersetzen

PyCharm ist eine leistungsstarke integrierte Python-Entwicklungsumgebung mit umfangreichen Funktionen und Tools, die die Entwicklungseffizienz erheblich verbessern können. Unter diesen ist die Ersetzungsfunktion eine der im Entwicklungsprozess häufig verwendeten Funktionen, die Entwicklern helfen kann, den Code schnell zu ändern und die Codequalität zu verbessern. In diesem Artikel wird die Ersetzungsfunktion von PyCharm ausführlich vorgestellt, kombiniert mit spezifischen Codebeispielen, um Anfängern zu helfen, diese Funktion besser zu beherrschen und zu verwenden. Einführung in die Ersetzungsfunktion Die Ersetzungsfunktion von PyCharm kann Entwicklern dabei helfen, bestimmten Text im Code schnell zu ersetzen

jQuery ist eine klassische JavaScript-Bibliothek, die in der Webentwicklung weit verbreitet ist. Sie vereinfacht Vorgänge wie die Verarbeitung von Ereignissen, die Bearbeitung von DOM-Elementen und die Durchführung von Animationen auf Webseiten. Bei der Verwendung von jQuery kommt es häufig vor, dass Sie den Klassennamen eines Elements ersetzen müssen. In diesem Artikel werden einige praktische Methoden und spezifische Codebeispiele vorgestellt. 1. Verwenden Sie die Methoden „removeClass()“ und „addClass()“. jQuery stellt die Methode „removeClass()“ zum Löschen bereit

PyCharm ist eine integrierte Entwicklungsumgebung, die bei Programmierern beliebt ist. Sie bietet leistungsstarke Funktionen und Tools, um die Programmierung effizienter und komfortabler zu gestalten. In PyCharm ist die sinnvolle Einstellung und Ersetzung von Tastenkombinationen einer der Schlüssel zur Verbesserung der Programmiereffizienz. In diesem Artikel wird erläutert, wie Sie Tastenkombinationen in PyCharm ersetzen, um die Programmierung komfortabler zu gestalten. 1. Warum sollten wir Tastenkombinationen in PyCharm ersetzen, um Programmierern dabei zu helfen, verschiedene Vorgänge schnell abzuschließen und die Programmiereffizienz zu verbessern? Allerdings hat jeder andere Gewohnheiten, und bei manchen Menschen ist das vielleicht der Fall

MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem, das eine Vielzahl von Funktionen zum Verarbeiten und Betreiben von Daten bietet. Unter anderem wird die REPLACE-Funktion verwendet, um den angegebenen Teil der Zeichenfolge zu ersetzen. In diesem Artikel stellen wir die Verwendung der REPLACE-Funktion zum Ersetzen von Zeichenfolgen in MySQL vor und demonstrieren ihre Verwendung anhand von Codebeispielen. Schauen wir uns zunächst die Syntax der REPLACE-Funktion an: REPLACE(str,search_str,replace_str).

In Python können wir mithilfe einer Python-Bibliothek eines Drittanbieters namens openpyxl ein Wort durch ein anderes Wort in Excel ersetzen. Microsoft Excel ist ein nützliches Tool zum Verwalten und Analysieren von Daten. Mit Python können wir einige Excel-Datenverwaltungsaufgaben automatisieren. In diesem Artikel erfahren Sie, wie Sie mit Python ein Wort in Excel ersetzen. Bevor wir openpyxl installieren, um Word in Excel zu ersetzen, müssen wir die openpyxl-Bibliothek mithilfe des Python-Paketmanagers im System installieren. Um openpyxl zu installieren, geben Sie den folgenden Befehl im Terminal oder in der Eingabeaufforderung ein. Pipinst
