Top 150 des entrevuesFacile

Concevoir ajouter et rechercher des mots

Guide détaillé et implémentation de Python pour le problème « Concevoir des mots ajoutés et recherchés ».

Énoncé du problème

Facile

Concevez une structure de données qui prend en charge l'ajout de nouveaux mots et la recherche si une chaîne correspond à une chaîne précédemment ajoutée.

Implémentez la classe WordDictionary :

- WordDictionary() Initialise l'objet.

- addWord(word: str) Ajoute un mot à la structure de données, il peut être mis en correspondance plus tard.

- search(word: str) -> bool Renvoie True s'il y a une chaîne dans la structure de données qui correspond à word ou False sinon. le mot peut contenir des points '.' où les points peuvent être associés à n’importe quelle lettre.

L'entrée est une liste d'opérations et d'arguments. Implémentez une fonction wordDictionary(operations: list, arguments: list) -> list qui renvoie une liste de résultats (Aucun pour le constructeur/addWord, bool pour la recherche).

Contraintes
  • 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

Exemples

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?
Pensez à utiliser des structures de données spécifiques à Trie, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.