Entrevista a los 150 mejoresMedio

Implementar árbol de prefijos Trie

Guía detallada e implementación Python para el problema 'Implementar árbol de prefijos Trie'.

Declaración del problema

Medio

Un trie (pronunciado como 'try') o árbol de prefijos es una estructura de datos de árbol que se utiliza para almacenar y recuperar claves de manera eficiente en un conjunto de datos de cadenas. Existen varias aplicaciones de esta estructura de datos, como autocompletar y corrector ortográfico.

Implementar la clase Trie:

- Trie() Inicializa el objeto trie.

- insert(word: str) Inserta la palabra de cadena en el trie.

- search(word: str) -> bool Devuelve True si la palabra de cadena está en el trie (es decir, se insertó antes) y False en caso contrario.

- comienza con (prefijo: str) -> bool Devuelve Verdadero si hay una palabra de cadena previamente insertada que tiene el prefijo prefijo, y Falso en caso contrario.

La entrada es una lista de operaciones y argumentos. Implemente una función trie(operations: list, arguments: list) -> list que devuelva una lista de resultados (Ninguno para constructor/insertar, bool para buscar/empieza con).

Restricciones
  • 1 <= len(word), len(prefix) <= 2000
  • word and prefix consist of lowercase English letters
  • At most 3 * 10^4 calls will be made in total to insert, search, and startsWith

Ejemplos

Example 1
Input
operations = ["Trie", "insert", "search", "search", "startsWith", "insert", "search"], arguments = [[], ["apple"], ["apple"], ["app"], ["app"], ["app"], ["app"]]
Output
[None, None, True, False, True, None, True]
Explanation

Trie initialized. insert("apple"). search("apple") returns True. search("app") returns False. startsWith("app") returns True. insert("app"). search("app") returns 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.