Inhaltsverzeichnis
Methode 2
Algorithmus
Beispiel
Ausgabe
Heim Backend-Entwicklung C++ Parität in der Anzahl der Buchstaben mit gleicher Buchstabenposition und Häufigkeitsparität

Parität in der Anzahl der Buchstaben mit gleicher Buchstabenposition und Häufigkeitsparität

Sep 14, 2023 pm 03:41 PM
位置 频率 Parität

Parität in der Anzahl der Buchstaben mit gleicher Buchstabenposition und Häufigkeitsparität

In dieser Frage zählen wir die Anzahl der Zeichen mit gleicher Parität in Häufigkeit und Position und geben die Anzahl dieser Zahl als ungerade oder gerade aus.

Um dieses Problem zu lösen, können wir die Häufigkeit jedes Zeichens in der Zeichenfolge ermitteln und die Gesamtzahl der Zeichen mit derselben Parität in Häufigkeit und Position zählen. Danach können wir basierend auf der Zählung ungerade oder gerade Antworten ausdrucken.

Problemstellung – Wir erhalten eine Zeichenfolge alpha, die nur englische Kleinbuchstaben enthält. Wir müssen prüfen, ob die Anzahl der Zeichen mit derselben Buchstabenposition und -häufigkeit ungerade oder gerade ist.

Wenn ein Zeichen eine der folgenden Bedingungen erfüllt, hat das Zeichen die gleiche Häufigkeit und Buchstabenpositionsparität.

  • Wenn die Zeichenhäufigkeit in der Zeichenfolge ungerade ist und auch die Buchstabenposition ungerade ist.

  • Wenn die Zeichenhäufigkeit in der Zeichenfolge gerade ist und die Buchstabenposition ebenfalls gerade ist.

Beispiel

Eintreten

alpha = "dbbabcdc"
Nach dem Login kopieren

Ausgabe

Even
Nach dem Login kopieren
Nach dem Login kopieren

Anleitung

  • a hat eine Häufigkeit von 1 und eine Position von 1, daher ist die Parität gleich und die Anzahl wird 1.

  • d hat eine Häufigkeit von 2 und eine Position von 4. Da die Paritätsbits gleich sind, beträgt der Zählerstand daher 2.

Der Zählwert ist 2, was eine gerade Zahl ist.

Eintreten

alpha = "ppqqr"
Nach dem Login kopieren

Ausgabe

Odd
Nach dem Login kopieren

Erklärung – Nur die Parität von „p“ ist gleich. Daher ist die Zählung 1 und die Antwort ist eine ungerade Zahl.

Eintreten

alpha = "pqqqqrrr";
Nach dem Login kopieren

Ausgabe

Even
Nach dem Login kopieren
Nach dem Login kopieren

Hinweise – Parität ist nicht für jedes Zeichen gleich. Da der Zählwert also Null ist, wird „Gerade“ ausgegeben.

Methode 1

Bei dieser Methode verwenden wir eine Kartendatenstruktur, um die Häufigkeit jedes Zeichenfolgenzeichens zu speichern. Danach zählen wir die Anzahl der Zeichen mit gleicher Parität in Buchstabenposition und Häufigkeit.

Algorithmus

Schritt 1 – Definieren Sie ein count[]-Array mit der Länge 27 und initialisieren Sie es mit 0. Initialisieren Sie außerdem „Parität“ mit 0.

Schritt 2 – Zeichenhäufigkeiten im Array count[] speichern.

Schritt 3 – Machen Sie 26 Iterationen, um jedes Kleinbuchstabenzeichen durchzugehen.

Schritt 4 – Wenn count[p] größer als 0 ist, prüfen Sie, ob Zeichenhäufigkeit und Position die gleiche Parität haben. Wenn ja, erhöhen Sie den Paritätswert um 1.

Schritt 5 – Wenn die Parität schließlich durch 2 teilbar ist, geben Sie „Gerade“ zurück. Andernfalls geben Sie „ungerade“ zurück.

Beispiel

#include <bits/stdc++.h>
using namespace std;

string getParity(string alpha) {
    // To store the count of characters
    int count[27] = {0};
    int parity = 0;
    // Count frequency of each character
    for (int p = 0; p < alpha.size(); p++) {
        count[alpha[p] - 'a' + 1]++;
    }
    for (int p = 1; p <= 26; p++) {
        if (count[p] != 0) {
            // Increment parity for valid odd and even parity
            if (p % 2 == 0 && count[p] % 2 == 0 || p % 2 == 1 && count[p] % 2 == 1)
                parity++;
        }
    }
    // Return value based on final parity count
    if (parity % 2 == 1)
        return "ODD";
    else
        return "EVEN";
}
int main() {
    string alpha = "dbbabcdc";
    cout << "The parity of given string's character's is " << getParity(alpha);
    return 0;
}
Nach dem Login kopieren

Ausgabe

The parity of given string's character's is EVEN
Nach dem Login kopieren
Nach dem Login kopieren

Zeitkomplexität – O(N) zur Berechnung der Häufigkeit von Zeichen.

Raumkomplexität – O(26) ~ O(1) zum Speichern der Häufigkeit alphabetischer Zeichen.

Methode 2

In dieser Methode sortieren wir die angegebene Zeichenfolge. Wenn wir danach unterschiedliche benachbarte Zeichen erhalten, überprüfen wir die Häufigkeit und Positionsparität des vorherigen Zeichens.

Algorithmus

Schritt 1 – „Parität“ auf 0 initialisieren.

Schritt 2 – Die Methode sort() wird zum Sortieren der angegebenen Zeichenfolge verwendet.

Schritt 3 – Beginnen Sie mit dem Durchlaufen der Zeichenfolge und initialisieren Sie „charCnt“ auf 0, um die Häufigkeit des aktuellen Zeichens zu speichern.

Schritt 4 – Wenn sich das aktuelle Zeichen vom nächsten Zeichen unterscheidet, prüfen Sie, ob die Parität und die Zeichenposition von „charCnt“ übereinstimmen. Wenn ja, erhöhen Sie die Parität um 1.

Schritt 5 – Wenn das aktuelle Zeichen mit dem vorherigen Zeichen übereinstimmt, erhöhen Sie „charCnt“ um 1.

Schritt 6 – Wenn der „Parität“-Wert schließlich gerade ist, geben Sie „Gerade“ zurück. Andernfalls geben Sie „ungerade“ zurück.

Beispiel

#include <bits/stdc++.h>
using namespace std;

string getParity(string alpha) {
    int parity = 0;
    // Sort the string
    sort(alpha.begin(), alpha.end());
    // Traverse the string
    for (int p = 0; p < alpha.size(); p++) {
        int charCnt = 0;        
        // When we get different adjacent characters
        if (alpha[p] != alpha[p + 1]) {
            // Validating the odd and even parties
            if (charCnt % 2 == 1 && (alpha[p] - 'a' + 1) % 2 == 1 || charCnt % 2 == 0 && (alpha[p] - 'a' + 1) % 2 == 0)
                parity++;
        } else {
            charCnt++;
        }
    }
    if (parity % 2 == 1)
        return "ODD";
    else
        return "EVEN";
}
int main() {
    string alpha = "abbbccdd";
    cout << "The parity of given string's character's is " << getParity(alpha);
    return 0;
}
Nach dem Login kopieren

Ausgabe

The parity of given string's character's is EVEN
Nach dem Login kopieren
Nach dem Login kopieren

Zeitkomplexität – O(NlogN) zum Sortieren von Zeichenfolgen.

Raumkomplexität – O(N) zum Sortieren von Zeichenfolgen.

Die erste Methode benötigt konstanten Speicherplatz, während die zweite Methode dynamischen Speicherplatz zum Sortieren der angegebenen Zeichenfolge benötigt. Darüber hinaus ist die zweite Methode mit einem höheren Zeitaufwand verbunden, daher wird für eine bessere Leistung empfohlen, die erste Methode zu verwenden.

Das obige ist der detaillierte Inhalt vonParität in der Anzahl der Buchstaben mit gleicher Buchstabenposition und Häufigkeitsparität. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Details zum Aktivieren der Umgebungsvariableneinstellungen unter Windows 11 Details zum Aktivieren der Umgebungsvariableneinstellungen unter Windows 11 Dec 30, 2023 pm 06:07 PM

Die Umgebungsvariablenfunktion ist ein wesentliches Werkzeug zum Ausführen des Konfigurationsprogramms im System, aber im neuesten Win11-System wissen immer noch viele Benutzer nicht, wie sie eingerichtet werden sollen. Hier finden Sie eine detaillierte Einführung in den Speicherort Öffnen Sie die Umgebungsvariable win11 und lernen Sie, wie man sie bedient. Wo sind die Win11-Umgebungsvariablen: 1. Geben Sie zunächst „win+R“ ein, um das Ausführungsfeld zu öffnen. 2. Geben Sie dann den Befehl ein: controlsystem. 3. Wählen Sie in der sich öffnenden Systeminformationsoberfläche im linken Menü „Erweiterte Systemeinstellungen“ aus. 4. Wählen Sie dann unten im sich öffnenden Fenster „Systemeigenschaften“ die Option „Umgebungsvariablen“. 5. Abschließend können Sie in den geöffneten Umgebungsvariablen relevante Einstellungen entsprechend Ihren Bedürfnissen vornehmen.

Win11-Startpfad und wie man ihn öffnet Win11-Startpfad und wie man ihn öffnet Jan 03, 2024 pm 11:13 PM

Jedes Windows-System verfügt über einen Startpfad. Wenn Sie ihm Dateien oder Software hinzufügen, wird dieser beim Booten geöffnet. Viele Freunde wissen jedoch nicht, wo sich der Win11-Startpfad befindet. Tatsächlich müssen wir nur den entsprechenden Ordner auf dem Laufwerk C eingeben. Win11-Startpfad: 1. Doppelklicken Sie, um „Dieser PC“ zu öffnen. 2. Fügen Sie den Pfad „C:\ProgramData\Microsoft\Windows\StartMenu\Programs\Startup“ direkt in das Pfadfeld ein. 3. Hier ist der Win11-Startpfad. Wenn wir die Datei nach dem Booten öffnen möchten, können wir die Datei einfügen. 4. Wenn Sie über diesen Pfad nicht zugreifen können, ist er möglicherweise ausgeblendet.

So ändern Sie den Speicherort für Spiele-Downloads in Steam So ändern Sie den Speicherort für Spiele-Downloads in Steam May 10, 2023 pm 11:22 PM

Steam ist eine der beliebtesten Anwendungen unter PC-Spielern, da Sie im Steam-Store jedes große Spiel finden können. Es vereinfacht das Herunterladen, Installieren und Verwalten der Lieblingsspiele der Benutzer über seine Benutzeroberfläche. Wann immer ein Steam-Benutzer ein Spiel herunterladen möchte, verwendet Steam das Standardinstallationsverzeichnis der Anwendung, um das Spiel herunterzuladen und zu installieren. Dieser Speicherort ist standardmäßig C:\ProgramFiles(x86)\Steam. Das Problem entsteht, weil die meisten Benutzer nicht über genügend Speicherplatz auf dem Laufwerk C verfügen, insbesondere für Spiele, die viel Speicherplatz beanspruchen, beispielsweise 50–100 GB. Um dieses Problem zu lösen, ermöglicht Steam Benutzern die Verwendung einer App zum Ändern des Downloads und

Wo ist der Anmeldeinformationsmanager von Windows 10? Wo ist der Anmeldeinformationsmanager von Windows 10? Jul 09, 2023 am 10:09 AM

Der Credential Manager ist eine Funktion, mit der Benutzer Web-Anmeldeinformationen und Windows-Anmeldeinformationen verwalten. Viele Benutzer wissen jedoch immer noch nicht, wo sich der Windows 10 Credential Manager befindet. Tatsächlich befindet sich der Anmeldeinformationsmanager auf dem Bedienfeld. Denken Sie daran, die Anzeigemethode auf ein kleines Symbol zu ändern, damit Sie den Anmeldeinformationsmanager anzeigen können, wenn Sie ihn anzeigen möchten Bei einer großen Anzahl müssen Sie das Kontopasswort eingeben. Wo befindet sich der Anmeldeinformationsmanager von Windows 10: 1. Öffnen Sie die Systemsteuerung im System, klicken Sie auf die Methode „Ansicht“ in der oberen rechten Ecke und wandeln Sie den Typ in ein kleines Symbol um. 2. Nachdem Sie es als kleines Symbol angezeigt haben, klicken Sie auf „Zertifikatsmanager“. 3. Nach dem Aufrufen des Credential Managers sehen Sie eine Einführung in die relevanten Funktionen, die hauptsächlich für verwendet werden

Standort des Origami-Vogels im Stardome Railway Crocker Film and Television Park Standort des Origami-Vogels im Stardome Railway Crocker Film and Television Park Mar 27, 2024 pm 11:51 PM

Es gibt insgesamt 20 Origami-Vögel im Stardome Railway Croaker Movie Park. Viele Spieler wissen nicht, wo sich die Origami-Vögel im Crocker Movie Park befinden, um allen die Suche zu erleichtern. und schauen Sie sich diese neueste Zusammenfassung der Standorte der Origami-Vögel im Croaker Film and Television Park an, um spezifische Inhalte zu erhalten. Leitfaden zur Honky Dome Railway Star Dome Railway Crocker Film Park Origami Bird Location 1, Crocker Film Park 1. Etage 2, Crocker Film Park 2. Etage

Was hat einen größeren Einfluss auf Leistung, Speicherfrequenz oder Timing? Was hat einen größeren Einfluss auf Leistung, Speicherfrequenz oder Timing? Feb 19, 2024 am 08:58 AM

Der Speicher ist eine der wichtigsten Komponenten des Computers und hat einen erheblichen Einfluss auf die Leistung und Stabilität des Computers. Bei der Wahl des Gedächtnisses konzentrieren sich Menschen in der Regel auf zwei wichtige Parameter, nämlich Timing und Häufigkeit. Was ist also für die Gedächtnisleistung wichtiger: Timing oder Frequenz? Lassen Sie uns zunächst die Konzepte von Timing und Frequenz verstehen. Unter Timing versteht man das Zeitintervall, das ein Speicherchip benötigt, um Daten zu empfangen und zu verarbeiten. Sie wird normalerweise durch einen CL-Wert (CASLatency) dargestellt. Je kleiner der CL-Wert, desto schneller ist die Speicherverarbeitungsgeschwindigkeit. Die Frequenz liegt innerhalb

Verstehen Sie den Speicherort und die Struktur des Pip-Installationspaketspeichers Verstehen Sie den Speicherort und die Struktur des Pip-Installationspaketspeichers Jan 18, 2024 am 08:23 AM

Um mehr über den Speicherort der von pip installierten Pakete zu erfahren, benötigen Sie spezifische Codebeispiele. Pip ist ein häufig verwendetes Paketverwaltungstool in der Python-Sprache. Es wird zum einfachen Installieren, Aktualisieren und Verwalten von Python-Paketen verwendet. Wenn Sie pip zum Installieren eines Pakets verwenden, lädt es automatisch die entsprechende Paketdatei von PyPI (Python Package Index) herunter und installiert sie am angegebenen Speicherort. Wo werden also die von pip installierten Pakete gespeichert? Dies ist ein Problem, auf das viele Python-Entwickler stoßen werden. Dieser Artikel befasst sich mit dem Speicherort der von pip und Provide installierten Pakete

Win11-Shutdown-Standort Win11-Shutdown-Standort Jan 10, 2024 am 09:14 AM

Wenn wir längere Zeit nicht am Computer sind, ist es am besten, den Computer herunterzufahren, um ihn zu schützen. Wo ist also das Herunterfahren in Win11? Öffnen Sie im Allgemeinen einfach das Startmenü und Sie können es finden die Abschalttaste darin. Wo man Windows 11 herunterfährt: Antwort: Im Power-Button des Startmenüs. 1. Zuerst klicken wir auf das „Windows-Logo“ in der unteren Taskleiste, um das „Startmenü“ zu öffnen. 2. Nach dem Öffnen finden Sie in der unteren rechten Ecke den „Power“-Button, wie in der Abbildung dargestellt. 3. Nachdem Sie auf den Netzschalter geklickt haben, wird „Herunterfahren“ angezeigt. Klicken Sie darauf, um das Gerät herunterzufahren. 4. Wenn der Computer aufgrund besonderer Umstände, z. B. eines Absturzes, nicht heruntergefahren werden kann, können Sie direkt den „Einschaltknopf“ am Computer gedrückt halten, um ein Herunterfahren zu erzwingen.

See all articles