Top 150-InterviewEinfach

Entwerfen Sie Wörter zum Hinzufügen und Suchen

Detaillierte Anleitung und Python-Implementierung für das Problem „Entwerfen, Hinzufügen und Suchen von Wörtern“.

Problemstellung

Einfach

Entwerfen Sie eine Datenstruktur, die das Hinzufügen neuer Wörter und die Feststellung unterstützt, ob eine Zeichenfolge mit einer zuvor hinzugefügten Zeichenfolge übereinstimmt.

Implementieren Sie die WordDictionary-Klasse:

- WordDictionary() Initialisiert das Objekt.

- addWord(word: str) Fügt ein Wort zur Datenstruktur hinzu, es kann später abgeglichen werden.

- search(word: str) -> bool Gibt „True“ zurück, wenn in der Datenstruktur eine Zeichenfolge vorhanden ist, die mit „word“ übereinstimmt, andernfalls „False“. Wort kann Punkte enthalten. wobei Punkte jedem Buchstaben zugeordnet werden können.

Die Eingabe ist eine Liste von Operationen und Argumenten. Implementieren Sie eine Funktion wordDictionary(operations: list, arguments: list) -> list, die eine Ergebnisliste zurückgibt (Keine für Konstruktor/addWord, bool für Suche).

Einschränkungen
  • 1 <= len(word) <= 25
  • word in addWord consists of lowercase English letters
  • word in search consists of '.' or lowercase English letters
  • At most 10^4 calls will be made to addWord and search

Beispiele

Example 1
Input
operations = ["WordDictionary", "addWord", "addWord", "addWord", "search", "search", "search", "search"], arguments = [[], ["bad"], ["dad"], ["mad"], ["pad"], ["bad"], [".ad"], ["b.."]]
Output
[None, None, None, None, False, True, True, True]
Explanation

Initialize. Add "bad", "dad", "mad". search("pad") -> False. search("bad") -> True. search(".ad") -> True. search("b..") -> True.

Need a Hint?
Erwägen Sie die Verwendung von Trie-spezifischen Datenstrukturen wie Sets oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Im Editor öffnen
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.