Einfach 0 gelöst 0% Erfolgsquote

Zeichenhäufigkeit

Zähle, wie oft jedes Zeichen vorkommt.

Das lernst du

  • Eine Häufigkeitstabelle aufbauen
  • Dictionary-Einträge sicher aktualisieren
  • Ergebnisse in einer vorgegebenen Reihenfolge zurückgeben

Problem

Zähle jedes Zeichen in text außer Leerzeichen. Gib jedes unterschiedliche Zeichen genau einmal als "Zeichen:Anzahl" aus, sortiert nach dem Zeichencode (Großbuchstaben kommen also vor Kleinbuchstaben).

Implementiere character_frequency(text).

Eingabe

text: Der zu zählende Text (ASCII-Zeichen).

Ausgabe

Gib die Liste der "Zeichen:Anzahl"-Einträge zurück.

Einschränkungen

0 ≤ Länge ≤ 10.000

Beispiele

Beispiel 1
Eingabe:
text = "hello"

Erwartete Ausgabe:
expected = ["e:1", "h:1", "l:2", "o:1"]
Eingabe:
std::string text = "hello";

Erwartete Ausgabe:
std::vector<std::string> expected = {"e:1", "h:1", "l:2", "o:1"};
Eingabe:
string text = "hello";

Erwartete Ausgabe:
string[] expected = new string[] {"e:1", "h:1", "l:2", "o:1"};

Erläuterung

e:1, h:1, l:2, o:1 sortiert nach Zeichen: ["e:1", "h:1", "l:2", "o:1"].

Beispiel 2
Eingabe:
text = "a a A"

Erwartete Ausgabe:
expected = ["A:1", "a:2"]
Eingabe:
std::string text = "a a A";

Erwartete Ausgabe:
std::vector<std::string> expected = {"A:1", "a:2"};
Eingabe:
string text = "a a A";

Erwartete Ausgabe:
string[] expected = new string[] {"A:1", "a:2"};

Erläuterung

Leerzeichen werden übersprungen; "A" kommt vor "a": ["A:1", "a:2"].

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Überspringe Leerzeichen, aber zähle jedes andere ASCII-Zeichen genau so, wie es erscheint.

Hinweis 2

Sammle die Zähler in einer Häufigkeitstabelle und gib dann jedes Zeichen nur einmal aus.

Hinweis 3

Sortiere nach Zeichencode, damit die Reihenfolge von Groß- und Kleinbuchstaben natürlich der ASCII-Reihenfolge folgt.

Erwartete Komplexität

Zeit O(n + m log m), zusätzlicher Speicher O(m)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.