Von Yuvraj Chandra
Email

Welcher Buchstabe kommt in dieser Zeichenfolge am häufigsten vor? Erstellen Sie ein Programm, um es für Sie herauszufinden!

Strings sind ein sehr wichtiges Thema bei der Programmierung von Interviews. Es ist ratsam, vor den Interviews einige Programmierprobleme zu üben, die sich auf Strings konzentrieren. In diesem Artikel erfahren Sie, wie Sie das am häufigsten vorkommende Zeichen in einer Zeichenfolge finden.

Beispiele zum Verständnis des Problems

Beispiel 1: Der angegebene String sei "Makeuseof". Das Zeichen 'e' kommt in der angegebenen Zeichenfolge 2 Mal vor und alle anderen Zeichen kommen nur einmal vor. Somit hat das Zeichen 'e' die höchste Häufigkeit in der gegebenen Zeichenfolge.

Beispiel 2: Lassen Sie die angegebene Zeichenfolge "Sie sieht Käse" sein. Das Zeichen 'e' kommt in der angegebenen Zeichenfolge 6-mal vor und alle anderen Zeichen kommen weniger als 6-mal vor. Somit hat das Zeichen 'e' die höchste Häufigkeit in der gegebenen Zeichenfolge.

instagram viewer

Vorgehensweise, um das am häufigsten vorkommende Zeichen in einer Zeichenfolge zu finden

Die Hashing-Technik ist die effizienteste Methode, um das Zeichen mit der höchsten Häufigkeit in einer Zeichenfolge zu finden. Bei dieser Technik wird die Zeichenfolge durchlaufen und jedes Zeichen der Zeichenfolge wird in ein Array von ASCII-Zeichen gehasht.

Lassen Sie die Eingabezeichenfolge "Makeuseof" sein, jedes Zeichen dieser Zeichenfolge wird wie folgt gehasht:

Frequenz['M'] = 1

Frequenz['a] = 1

Frequenz['k'] = 1

Frequenz['e'] = 2

Frequenz['u'] = 1

Frequenz['s'] = 1

Frequenz['o'] = 1

Frequenz['f'] = 1

Der Index des Maximalwerts im Frequenz-Array wird zurückgegeben. Hier 2 ist der höchste Wert, daher wird 'e' zurückgegeben.

C++-Programm zum Finden des Zeichens mit der höchsten Häufigkeit

Unten ist das C++-Programm, um das Zeichen mit der höchsten Häufigkeit in einer Zeichenfolge zu finden:

Verbunden: So zählen Sie die Vorkommen eines bestimmten Zeichens in einer Zeichenfolge

// C++-Programm zum Finden des Zeichens
// mit der höchsten Frequenz in einem String
#einschließen
#einschließen
#define ASCII_SIZE 256
Verwenden des Namensraums std;
char maxFrequencyChar (Zeichenfolge str)
{
// Array zum Speichern der Häufigkeit jedes Zeichens
// Initialisierte die Häufigkeit jedes Zeichens als 0
int-Frequenz[ASCII_SIZE] = {0};
// Länge des Eingabestrings ermitteln
int lenOfStr = str.länge();
// maxFrequency-Variable initialisieren
int maxFrequenz = -1;
// MaxFrequencyChar-Variable initialisieren
char maxFrequencyChar;
// Durchfahren und Beibehalten der
// Häufigkeit jedes Zeichens
für (int i = 0; i < lenOfStr; ich++)
{
Frequenz[str[i]]++;
if (maxFrequency < frequency[str[i]])
{
maxFrequency = Frequenz[str[i]];
maxFrequencyChar = str[i];
}
}
Rückgabe maxFrequencyChar;
}
// Fahrercode
int main()
{
string str1 = "Welche Hexe ist welche?";
cout << "str1: " << str1 << endl;
cout << "Das Zeichen mit der höchsten Häufigkeit ist: " << maxFrequencyChar (str1) << endl;
string str2 = "Er warf drei Freiwürfe";
cout << "str2: " << str2 << endl;
cout << "Das Zeichen mit der höchsten Häufigkeit ist: " << maxFrequencyChar (str2) << endl;
string str3 = "Eddie hat es bearbeitet";
cout << "str3: " << str3 << endl;
cout << "Das Zeichen mit der höchsten Häufigkeit ist: " << maxFrequencyChar (str3) << endl;
string str4 = "Makeuseof";
cout << "str4: " << str4 << endl;
cout << "Das Zeichen mit der höchsten Häufigkeit ist: " << maxFrequencyChar (str4) << endl;
string str5 = "Sie sieht Käse";
cout << "str5: " << str5 << endl;
cout << "Das Zeichen mit der höchsten Häufigkeit ist: " << maxFrequencyChar (str5) << endl;
}

Ausgabe:

str1: Welche Hexe ist welche?
Das Zeichen mit der höchsten Frequenz ist: h
str2: Er hat drei Freiwürfe geworfen
Das Zeichen mit der höchsten Frequenz ist: e
str3: Eddie hat es bearbeitet
Das Zeichen mit der höchsten Frequenz ist: d
str4: Makeuseof
Das Zeichen mit der höchsten Frequenz ist: e
str5: Sie sieht Käse
Das Zeichen mit der höchsten Frequenz ist: e

Python-Programm zum Finden des Zeichens mit der höchsten Häufigkeit

Unten ist das Python-Programm, um das Zeichen mit der höchsten Häufigkeit in einer Zeichenfolge zu finden:

Verbunden: So kehren Sie einen String in C++, Python und JavaScript um

# Python-Programm, um das Zeichen zu finden
# mit der höchsten Frequenz in einer Zeichenfolge
ASCII_SIZE = 256
def maxFrequencyChar (str):
# Array zum Speichern der Häufigkeit jedes Zeichens
# Initialisiert die Häufigkeit jedes Zeichens als 0
Frequenz = [0] * ASCII_SIZE
# MaxFrequency-Variable initialisieren
maxFrequenz = -1
# MaxFrequencyChar-Variable initialisieren
maxFrequencyChar = ''
# Durchqueren und Aufrechterhalten der
# Häufigkeit jedes Zeichens
für ich in str:
Frequenz[ord (i)] += 1
für ich in str:
wenn maxFrequency < Frequenz[ord (i)]:
maxFrequency = Frequenz[ord (i)]
maxFrequencyChar = i
Rückgabe maxFrequencyChar
# Fahrercode
str1 = "Welche Hexe ist welche?"
print("str1:", str1)
print("Das Zeichen mit der höchsten Häufigkeit ist:", maxFrequencyChar (str1))
str2 = "Er hat drei Freiwürfe geworfen"
print("str2:", str2)
print("Das Zeichen mit der höchsten Häufigkeit ist:", maxFrequencyChar (str2))
str3 = "Eddie hat es bearbeitet"
print("str3:", str3)
print("Das Zeichen mit der höchsten Häufigkeit ist:", maxFrequencyChar (str3))
str4 = "Makeuseof"
print("str4:", str4)
print("Das Zeichen mit der höchsten Häufigkeit ist:", maxFrequencyChar (str4))
str5 = "Sie sieht Käse"
print("str5:", str5)
print("Das Zeichen mit der höchsten Häufigkeit ist:", maxFrequencyChar (str5))

Ausgabe:

str1: Welche Hexe ist welche?
Das Zeichen mit der höchsten Frequenz ist: h
str2: Er hat drei Freiwürfe geworfen
Das Zeichen mit der höchsten Frequenz ist: e
str3: Eddie hat es bearbeitet
Das Zeichen mit der höchsten Frequenz ist: d
str4: Makeuseof
Das Zeichen mit der höchsten Frequenz ist: e
str5: Sie sieht Käse
Das Zeichen mit der höchsten Frequenz ist: e

C-Programm zum Finden des Zeichens mit der höchsten Häufigkeit

Unten ist das C-Programm, um das Zeichen mit der höchsten Häufigkeit in einem String zu finden:

Verbunden: So finden Sie Vokale, Konsonanten, Ziffern und Sonderzeichen in einer Zeichenfolge

// C-Programm, um das Zeichen zu finden
// mit der höchsten Frequenz in einem String
#einschließen
#einschließen
#define ASCII_SIZE 256
Verwenden des Namensraums std;
char maxFrequencyChar (char *str)
{
// Array zum Speichern der Häufigkeit jedes Zeichens
// Initialisierte die Häufigkeit jedes Zeichens als 0
int-Frequenz[ASCII_SIZE] = {0};
// Länge des Eingabestrings ermitteln
int lenOfStr = strlen (str);
// maxFrequency-Variable initialisieren
int maxFrequenz = 0;
// MaxFrequencyChar-Variable initialisieren
char maxFrequencyChar;
// Durchfahren und Beibehalten der
// Häufigkeit jedes Zeichens
für (int i = 0; i < lenOfStr; ich++)
{
Frequenz[str[i]]++;
if (maxFrequency < frequency[str[i]])
{
maxFrequency = Frequenz[str[i]];
maxFrequencyChar = str[i];
}
}
Rückgabe maxFrequencyChar;
}
// Fahrercode
int main()
{
char str1[] = "Welche Hexe ist welche?";
printf("str1: %s", str1);
printf("Das Zeichen mit der höchsten Häufigkeit ist: %c \⁠n", maxFrequencyChar (str1));
char str2[] ​​= "Er hat drei Freiwürfe geworfen";
printf("str2: %s", str2);
printf("Das Zeichen mit der höchsten Häufigkeit ist: %c \⁠n", maxFrequencyChar (str2));
char str3[] = "Eddie hat es bearbeitet";
printf("str3: %s", str3);
printf("Das Zeichen mit der höchsten Häufigkeit ist: %c \⁠n", maxFrequencyChar (str3));
char str4[] = "Makeuseof";
printf("str4: %s", str4);
printf("Das Zeichen mit der höchsten Häufigkeit ist: %c \⁠n", maxFrequencyChar (str4));
char str5[] = "Sie sieht Käse";
printf("str1: %s", str5);
printf("Das Zeichen mit der höchsten Häufigkeit ist: %c \⁠n", maxFrequencyChar (str5));
}

Ausgabe:

str1: Welche Hexe ist welche?
Das Zeichen mit der höchsten Frequenz ist: h
str2: Er hat drei Freiwürfe geworfen
Das Zeichen mit der höchsten Frequenz ist: e
str3: Eddie hat es bearbeitet
Das Zeichen mit der höchsten Frequenz ist: d
str4: Makeuseof
Das Zeichen mit der höchsten Frequenz ist: e
str5: Sie sieht Käse
Das Zeichen mit der höchsten Frequenz ist: e

JavaScript-Programm zum Finden des Zeichens mit der höchsten Häufigkeit

Unten ist das JavaScript-Programm, um das Zeichen mit der höchsten Häufigkeit in einem String zu finden:

// JavaScript-Programm, um das Zeichen zu finden
// mit der höchsten Frequenz in einem String
Lassen Sie ASCII_SIZE = 256;
Funktion maxFrequencyChar (str)
{
// Array zum Speichern der Häufigkeit jedes Zeichens
// Initialisierte die Häufigkeit jedes Zeichens als 0
let frequency = neues Array (ASCII_SIZE);
für (lassen Sie i = 0; i < ASCII_GRÖSSE; ich++)
{
Frequenz[i] = 0;
}
// Länge des Eingabestrings ermitteln
let lenOfStr = Str.Länge;
für (lassen Sie i = 0; i < lenOfStr; ich++)
{
Frequenz[str[i].charCodeAt (0)] += 1;
}
// maxFrequency-Variable initialisieren
sei maxFrequency = -1;
// MaxFrequencyChar-Variable initialisieren
let maxFrequencyChar = '';
// Durchfahren und Beibehalten der
// Häufigkeit jedes Zeichens
für (lassen Sie i = 0; i < lenOfStr; ich++)
{
if (maxFrequency < frequency[str[i].charCodeAt (0)])
{
maxFrequency = frequency[str[i].charCodeAt (0)];
maxFrequencyChar = str[i];
}
}
Rückgabe maxFrequencyChar;
}
// Fahrercode
let str1 = "Welche Hexe ist welche?";
document.write("str1: " + str1 + "
");
document.write("Das Zeichen mit der höchsten Häufigkeit ist: " + maxFrequencyChar (str1) + "
")
let str2 = "Er hat drei Freiwürfe geworfen";
document.write("str2: " + str2 + "
");
document.write("Das Zeichen mit der höchsten Häufigkeit ist: " + maxFrequencyChar (str2) + "
")
let str3 = "Eddie hat es bearbeitet";
document.write("str3: " + str3 + "
");
document.write("Das Zeichen mit der höchsten Häufigkeit ist: " + maxFrequencyChar (str3) + "
")
let str4 = "Makeuseof";
document.write("str4: " + str4 + "
");
document.write("Das Zeichen mit der höchsten Häufigkeit ist: " + maxFrequencyChar (str4) + "
")
let str5 = "Sie sieht Käse";
document.write("str5: " + str5 + "
");
document.write("Das Zeichen mit der höchsten Häufigkeit ist: " + maxFrequencyChar (str5) + "
")

Ausgabe:

str1: Welche Hexe ist welche?
Das Zeichen mit der höchsten Frequenz ist: h
str2: Er hat drei Freiwürfe geworfen
Das Zeichen mit der höchsten Frequenz ist: e
str3: Eddie hat es bearbeitet
Das Zeichen mit der höchsten Frequenz ist: d
str4: Makeuseof
Das Zeichen mit der höchsten Frequenz ist: e
str5: Sie sieht Käse
Das Zeichen mit der höchsten Frequenz ist: e

Analysieren Sie die Zeit- und Raumkomplexität

Die zeitliche Komplexität der maxFrequencyChar() Funktion ist Auf). Die Raumkomplexität der maxFrequencyChar() Funktion ist O(1) als fester Raum (Hash-Array). Es hängt nicht von der Größe der Eingabezeichenfolge ab.

Mit der Big-O-Notation können Sie berechnen, wie lange es dauert, Ihren Code auszuführen. Es ist eines der wichtigsten Konzepte für die Analyse von Algorithmen. Wenn Sie ein Programmierer sind, müssen Sie die Big-O-Notation kennen.

Email
Was ist Big-O-Notation?

Ihr Code muss effizient sein, aber wie zeigen Sie, wie effizient etwas ist? Mit Big-O!

Weiter lesen

Verwandte Themen
  • Programmierung
  • JavaScript
  • Python
  • Codierungs-Tutorials
  • C-Programmierung
Über den Autor
Yuvraj Chandra (30 Artikel veröffentlicht)

Yuvraj studiert Informatik an der University of Delhi, Indien. Seine Leidenschaft gilt der Full-Stack-Webentwicklung. Wenn er nicht gerade schreibt, erforscht er die Tiefe verschiedener Technologien.

Mehr von Yuvraj Chandra

Abonnieren Sie unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Noch ein Schritt…!

Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.

.