Das Zeichen, das in der verknüpften Liste am häufigsten vorkommt
Wir erhalten eine einfach verknüpfte Liste von Zeichen und unsere Aufgabe besteht darin, das Zeichen auszudrucken, das in der verknüpften Liste am häufigsten vorkommt. Wenn mehrere Zeichen gleich oft vorkommen, wird das letzte Vorkommen des Zeichens gedruckt.
Einfach verknüpfte Liste ist eine lineare Datenstruktur, die aus Knoten besteht. Jeder Knoten enthält Daten und einen Zeiger auf den nächsten Knoten, der die Speicheradresse des nächsten Knotens enthält, da der jedem Knoten zugewiesene Speicher nicht zusammenhängend ist.
Beispiel
Angenommen, wir haben eine Liste mit Charakterlinks erhalten
Beispiel 1
Eingabe: LL = a -> b -> c -> c -> c
Ausgabe: Das häufigste Zeichen ist c.
Erklärung: In der angegebenen verknüpften Liste LL erscheint a einmal, b einmal und c dreimal. Daher ist die Ausgabe c.
Beispiel 2
Geben Sie ein:
LL = x -> x -> y -> y -> z -> z
Ausgabe: Das größte vorkommende Zeichen ist z.
Erklärung: In der angegebenen verknüpften Liste LL erscheint x zweimal, y zweimal und z zweimal. Alle Vorkommen sind gleich, da z zuletzt erscheint, sodass die Ausgabe z ist.
Hier besprechen wir zwei Methoden. Werfen wir einen Blick auf die folgenden Teile -
Methode 1: Häufigkeit iterativ berechnen
Die Idee dieser Methode besteht darin, dass wir die verknüpfte Liste durchlaufen und die Häufigkeit jedes Zeichens berechnen, dann das Zeichen mit der höchsten Häufigkeit finden und, wenn mehrere Zeichen dieselbe Häufigkeit haben, dieses Zeichen drucken und das letzte Zeichen zurückgeben .
Beispiel
#include <iostream> using namespace std; // creating a class to have a structure for linked list nodes class Node{ public: char data; // variable to store the characters Node* next = NULL; // variable to store the address of the next node Node(char cur){ data = cur; } }; // function to print the elements of the linked list void printLL(Node* head){ // creating a temporary pointer Node* temp = head; while(temp != nullptr){ cout<<temp->data<<" -> "; temp = temp->next; } cout<<"NULL"<<endl; } // function to find the max frequency void maxFreq(Node* head){ // traversing over the linked list for each character // starting from the first character to the last character int ans = 0; // variable to store the maximum frequency char char_ans; Node* temp_first = head; // variable to store the current first node while(temp_first != nullptr){ int cur = 0; // variable to store the frequency of the current character Node* temp = temp_first; while(temp != nullptr){ if(temp->data == temp_first->data){ cur++; } temp = temp->next; } if(ans < cur){ ans = cur; char_ans = temp_first->data; } temp_first = temp_first->next; } cout<<"The last character in the given linked list is '"<<char_ans<<"' with the frequency of "<< ans<<endl; } // main function int main(){ // defining the linked list Node* head = new Node('a'); head->next = new Node('b'); head->next->next = new Node('b'); head->next->next->next = new Node('c'); head->next->next->next->next = new Node('d'); head->next->next->next->next->next = new Node('d'); head->next->next->next->next->next->next = new Node('d'); cout<<"The given linked list is: "<<endl; printLL(head); maxFreq(head); return 0; }
Ausgabe
The given linked list is: a -> b -> b -> c -> d -> d -> d -> NULL The last character in the given linked list is 'd' with the frequency of 3
Zeitkomplexität
: O(N*N), wobei N die Größe der verknüpften Liste ist.
Raumkomplexität: O(1)
Methode 2: Zählarray verwenden
Die Idee dieser Methode besteht darin, dass wir ein Array von Zählungen verwalten, in dem wir die Häufigkeit jedes Zeichens speichern und dann das Array durchlaufen und das Zeichen mit der höchsten Häufigkeit finden. Wenn mehrere Zeichen dieselbe Häufigkeit haben, geben Sie dieses Zeichen aus und geben Sie dann das letzte Zeichen zurück.
Beispiel
#include <iostream> using namespace std; // creating a class to have a structure for linked list nodes class Node{ public: char data; // variable to store the characters Node* next = NULL; // variable to store the address of the next node Node(char cur){ data = cur; } }; // function to print the elements of the linked list void printLL(Node* head){ // creating a temporary pointer Node* temp = head; while(temp != nullptr){ cout<<temp->data<<" -> "; temp = temp->next; } cout<<"NULL"<<endl; } // function to find the max frequency void maxFreq(Node* head){ int ans = 0; // variable to store the maximum frequency char char_ans; // traversing over the linked list for each lowercase character for(char i = 'a'; i<= 'z'; i++){ Node* temp = head; int cur = 0; // variable to store the frequency of the current character while(temp != nullptr){ if(temp->data == i){ cur++; } temp = temp->next; } if(ans <= cur){ ans = cur; char_ans = i; } } cout<<"The last character in the given linked list is '"<<char_ans<<"' with the frequency of "<< ans<<endl; } int main(){ // defining the linked list Node* head = new Node('a'); head->next = new Node('b'); head->next->next = new Node('b'); head->next->next->next = new Node('c'); head->next->next->next->next = new Node('e'); head->next->next->next->next->next = new Node('d'); head->next->next->next->next->next->next = new Node('d'); cout<<"The given linked list is: "<<endl; printLL(head); maxFreq(head); return 0; }
Ausgabe
The given linked list is: a -> b -> b -> c -> e -> d -> d -> NULL The last character in the given linked list is 'd' with the frequency of 2
Zeitkomplexität
O(N), wobei N die Größe der verknüpften Liste ist.
Raumkomplexität: O(N), wobei N die Größe der verknüpften Liste ist.
Fazit
Hier besprechen wir, wie man die häufigsten Zeichen in einer verknüpften Liste findet. Um das maximale Vorkommen von Zeichen zu ermitteln, haben wir zwei Methoden besprochen. Die erste Methode verwendet eine while-Schleife für jedes Zeichen der angegebenen verknüpften Liste und die zweite Methode verwendet eine for-Schleife für jedes Kleinbuchstabenzeichen und behält die Anzahl bei.
Das obige ist der detaillierte Inhalt vonDas Zeichen, das in der verknüpften Liste am häufigsten vorkommt. 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

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

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



Verwenden Sie die Funktion Character.isDigit() von Java, um festzustellen, ob es sich bei einem Zeichen um ein numerisches Zeichen handelt. Zeichen werden intern im Computer in Form von ASCII-Codes dargestellt. Unter diesen sind die ASCII-Codewerte, die den numerischen Zeichen 0 bis 9 entsprechen, 48 bis 57. Um festzustellen, ob ein Zeichen eine Zahl ist, können Sie die von der Character-Klasse in Java bereitgestellte Methode isDigit() verwenden. Die Methode isDigit() gehört zur Klasse Character

So verwenden Sie AutoKorrektur zum Eingeben von Pfeilen in Word Eine der schnellsten Möglichkeiten, Pfeile in Word einzugeben, ist die Verwendung der vordefinierten AutoKorrektur-Verknüpfungen. Wenn Sie eine bestimmte Zeichenfolge eingeben, wandelt Word diese Zeichen automatisch in Pfeilsymbole um. Mit dieser Methode können Sie viele verschiedene Pfeilstile zeichnen. So geben Sie mit der AutoKorrektur einen Pfeil in Word ein: Bewegen Sie den Cursor an die Stelle im Dokument, an der der Pfeil erscheinen soll. Geben Sie eine der folgenden Zeichenkombinationen ein: Wenn Sie nicht möchten, dass Ihre Eingabe in ein Pfeilsymbol umgewandelt wird, drücken Sie dazu die Rücktaste auf Ihrer Tastatur

Ihre physische oder numerische Tastatur bietet eine begrenzte Anzahl von Zeichenoptionen auf der Oberfläche. Es gibt jedoch mehrere Möglichkeiten, auf dem iPhone, iPad und Mac auf Buchstaben mit Akzent, Sonderzeichen und mehr zuzugreifen. Mit der Standard-iOS-Tastatur haben Sie schnellen Zugriff auf Groß- und Kleinbuchstaben, Standardzahlen, Satzzeichen und Zeichen. Natürlich gibt es noch viele andere Charaktere. Sie können zwischen Buchstaben mit diakritischen Zeichen und auf dem Kopf stehenden Fragezeichen wählen. Möglicherweise sind Sie auf ein verstecktes Sonderzeichen gestoßen. Wenn nicht, erfahren Sie hier, wie Sie auf iPhone, iPad und Mac darauf zugreifen können. So greifen Sie auf erweiterte Zeichen auf dem iPhone und iPad zu. Es ist sehr einfach, erweiterte Zeichen auf Ihrem iPhone oder iPad zu erhalten. Unter „Informationen“:

Bei einem hochgestellten Zeichen handelt es sich um ein oder mehrere Zeichen, entweder Buchstaben oder Zahlen, die Sie etwas über der normalen Textzeile platzieren müssen. Wenn Sie beispielsweise „1st“ schreiben müssen, muss der Buchstabe „st“ etwas höher sein als der Buchstabe „1“. Ebenso ist ein Index eine Gruppe von Zeichen oder ein einzelnes Zeichen und muss etwas niedriger als die normale Textebene eingestellt werden. Wenn Sie beispielsweise eine chemische Formel schreiben, müssen Sie die Zahlen unterhalb der normalen Zeichenzeile platzieren. Die folgenden Screenshots zeigen einige Beispiele für die hochgestellte und tiefgestellte Formatierung. Obwohl es wie eine entmutigende Aufgabe erscheinen mag, ist die Anwendung der hoch- und tiefgestellten Formatierung auf Ihren Text eigentlich ganz einfach. In diesem Artikel erklären wir in einigen einfachen Schritten, wie Sie Text ganz einfach mit Hoch- oder Tiefstellung formatieren können. Ich hoffe, Ihnen hat die Lektüre dieses Artikels gefallen. So wenden Sie hochgestellte Zeichen in Excel an

Die korrekte Anzeige chinesischer Zeichen in Matplotlib ist ein Problem, auf das viele chinesische Benutzer häufig stoßen. Standardmäßig verwendet matplotlib englische Schriftarten und kann chinesische Zeichen nicht korrekt anzeigen. Um dieses Problem zu lösen, müssen wir die richtige chinesische Schriftart festlegen und diese auf matplotlib anwenden. Nachfolgend finden Sie einige spezifische Codebeispiele, die Ihnen dabei helfen, chinesische Schriftzeichen in matplotlib korrekt anzuzeigen. Zuerst müssen wir die erforderlichen Bibliotheken importieren: importmatplot

Gegeben sei eine einfach verknüpfte Liste und eine positive ganze Zahl N als Eingabe. Das Ziel besteht darin, mithilfe der Rekursion den N-ten Knoten am Ende der angegebenen Liste zu finden. Wenn die Eingabeliste Knoten a→b→c→d→e→f hat und N 4 ist, dann ist der vierte Knoten vom letzten c. Wir werden zunächst bis zum letzten Knoten in der Liste durchlaufen und bei der Rückkehr von der rekursiven (Backtracking-)Inkrementzählung. Wenn count gleich N ist, wird als Ergebnis ein Zeiger auf den aktuellen Knoten zurückgegeben. Schauen wir uns hierfür verschiedene Eingabe- und Ausgabeszenarien an - Eingabeliste: -1→5→7→12→2→96→33N=3 Ausgabe − Der N-te Knoten vom letzten ist: 2 Erläuterung − Der dritte Knoten ist 2 . Eingabe − Liste: -12→53→8→19→20→96→33N=8 Ausgabe – Knoten existiert nicht

So verwenden Sie Golang, um festzustellen, ob ein Zeichen ein Buchstabe ist. In Golang kann mithilfe der IsLetter-Funktion im Unicode-Paket ermittelt werden, ob ein Zeichen ein Buchstabe ist. Die Funktion IsLetter prüft, ob das angegebene Zeichen ein Buchstabe ist. Als Nächstes stellen wir detailliert vor, wie Sie mit Golang Code schreiben, um festzustellen, ob es sich bei einem Zeichen um einen Buchstaben handelt. Zuerst müssen Sie eine neue Go-Datei erstellen, in die Sie den Code schreiben. Sie können die Datei „main.go“ nennen. Code

Die Zeichendarstellung der Eingabetaste in Java ist „. In Java stellt ` ein Zeilenumbruchzeichen dar, und wenn dieses Zeichen angetroffen wird, wird die Textausgabe umbrochen. Hier ist ein einfaches Codebeispiel, das zeigt, wie „“ zur Darstellung der Eingabetaste verwendet wird: publicclassMain{publicstaticvoidmain(String[]args){System.out.println(“Dies ist die erste Zeile davon
