0Pricing
Competitive Programming Academy · Lektion

Buchstaben mit einer Häufigkeitstabelle zählen

Zählen Sie Zeichen mit einem dict oder Array

Buchstaben mit einer Häufigkeitstabelle zählen ist eine kostenlose Competitive Programming Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Competitive Programming Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Competitive Programming Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum Zeichen zählen

Bei unzähligen String-Aufgaben geht es letztlich um eine Frage: Wie oft kommt jedes Zeichen vor? Eine Häufigkeitstabelle beantwortet das in einem Durchlauf. 📊

Die Dict-Methode

Ein einfaches dict ordnet jedem Zeichen seine Anzahl zu. Es funktioniert für jedes Alphabet, einschließlich Unicode und Symbolen.

freq = {}
for ch in 'apple':
    freq[ch] = freq.get(ch, 0) + 1
print(freq)

get() vermeidet KeyError

get(ch, 0) gibt 0 zurück, wenn der Schlüssel fehlt. Dadurch beginnt ein Buchstabe beim ersten Auftreten sauber mit dem Wert eins.

Counter erledigt das für Sie

Die Klasse Counter aus collections erstellt die gesamte Tabelle in einer einzigen Zeile. Sie ist bei Programmierwettbewerben wegen ihrer Geschwindigkeit und Übersichtlichkeit sehr beliebt.

from collections import Counter
freq = Counter('apple')
print(freq['p'])  # 2

Fehlende Schlüssel liefern null

Ein Counter löst bei einem fehlenden Schlüssel nie einen Fehler aus. Wenn Sie nach einem nie gesehenen Buchstaben fragen, erhalten Sie einfach 0, sodass Ihr Code ohne zusätzliche Verzweigung auskommt.

from collections import Counter
c = Counter('abc')
print(c['z'])  # 0

Die Methode mit einem festen Array

Für ausschließlich Kleinbuchstaben ist eine Liste mit 26 Plätzen noch schneller. Indizieren Sie jeden Buchstaben mit einer ord-Berechnung und erhöhen Sie den Zähler.

cnt = [0] * 26
for ch in 'apple':
    cnt[ord(ch) - ord('a')] += 1

Abwägung zwischen Array und Dict

Das Array ist am schnellsten, eignet sich aber nur für ein bekanntes, kleines Alphabet. Das dict oder Counter verarbeitet beliebige Zeichen zu geringen Zusatzkosten.

Das häufigste Zeichen finden

Counter stellt most_common(k) bereit. Die Methode gibt die k häufigsten Zeichen bereits nach ihrer Häufigkeit sortiert zurück. Eine manuelle Sortierung ist nicht nötig.

from collections import Counter
print(Counter('mississippi').most_common(1))

Zwei Tabellen vergleichen

Zwei Strings sind genau dann Anagramme, wenn ihre Häufigkeitstabellen übereinstimmen. Zwei Counter zu vergleichen, ist in einer Zeile möglich.

from collections import Counter
print(Counter('listen') == Counter('silent'))  # True

Ein Durchlauf genügt

Das Erstellen der Tabelle benötigt O(n), also einen einzigen Durchlauf durch den String. Danach ist jede Suche in konstanter Zeit möglich.

Durch Subtraktion Überschüsse finden

Counter unterstützen die Subtraktion. So können Sie erkennen, welche Zeichen in einem String vorkommen, aber im anderen fehlen. Das ist ideal für Aufgaben im Stil von Ransom Notes.

from collections import Counter
print(Counter('aabb') - Counter('ab'))

Kurze Überprüfung

Eine Frage zum Zählen von Zeichen.

Zusammenfassung

Sie können Zeichen jetzt mit einem dict, einem Counter oder einem Array mit 26 Plätzen zählen und diese Tabellen verwenden, um Anagramme zu prüfen und häufige Buchstaben zu finden. 🎉

Häufig gestellte Fragen

Ist die Lektion „Buchstaben mit einer Häufigkeitstabelle zählen“ kostenlos?

Ja — der vollständige Text von „Buchstaben mit einer Häufigkeitstabelle zählen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Competitive Programming Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Competitive Programming Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Buchstaben mit einer Häufigkeitstabelle zählen“?

Zählen Sie Zeichen mit einem dict oder Array Du übst Competitive Programming Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Competitive Programming Academy zu starten?

Keine Vorkenntnisse erforderlich. Competitive Programming Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Buchstaben mit einer Häufigkeitstabelle zählen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Competitive Programming Academy-Lektion Code schreiben und ausführen?

Ja. Jede Competitive Programming Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Zeichen sowie Tricks mit ord und chr
  2. Buchstaben mit einer Häufigkeitstabelle zählen
  3. Palindromprüfungen richtig durchführen
  4. Wörter teilen, bereinigen und wieder verbinden
← Zurück zu Competitive Programming Academy