Entrevista a los 150 mejoresfácil

Diseño Agregar y buscar palabras

Guía detallada e implementación de Python para el problema 'Diseñar agregar y buscar palabras'.

Declaración del problema

fácil

Diseñe una estructura de datos que admita agregar nuevas palabras y encontrar si una cadena coincide con alguna cadena agregada anteriormente.

Implemente la clase WordDictionary:

- WordDictionary() Inicializa el objeto.

- addWord(word: str) Agrega una palabra a la estructura de datos, se puede comparar más adelante.

- search(word: str) -> bool Devuelve True si hay alguna cadena en la estructura de datos que coincida con word o False en caso contrario. La palabra puede contener puntos '.' donde los puntos se pueden unir con cualquier letra.

La entrada es una lista de operaciones y argumentos. Implemente una función wordDictionary(operations: list, arguments: list) -> list que devuelva una lista de resultados (Ninguno para constructor/addWord, bool para búsqueda).

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

Ejemplos

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?
Considere la posibilidad de utilizar estructuras de datos específicas de Trie, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el editor
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

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.