Phỏng vấn top 150Trung bình

Triển khai cây tiền tố Trie

Hướng dẫn chi tiết và cách triển khai Python cho bài toán 'Triển khai cây tiền tố Trie'.

Tuyên bố vấn đề

Trung bình

Trie (phát âm là 'thử') hoặc cây tiền tố là cấu trúc dữ liệu dạng cây được sử dụng để lưu trữ và truy xuất khóa một cách hiệu quả trong tập dữ liệu chuỗi. Có nhiều ứng dụng khác nhau của cấu trúc dữ liệu này, chẳng hạn như tự động hoàn thành và kiểm tra chính tả.

Triển khai lớp Trie:

- Trie() Khởi tạo đối tượng trie.

- Insert(word: str) Chèn chuỗi word vào trie.

- search(word: str) -> bool Trả về Đúng nếu từ chuỗi nằm trong trie (tức là đã được chèn trước đó) và Trả về Sai nếu ngược lại.

- startedWith(prefix: str) -> bool Trả về Đúng nếu có một từ chuỗi được chèn trước đó có tiền tố tiền tố, và trả về Sai nếu ngược lại.

Đầu vào là danh sách các phép toán và đối số. Triển khai hàm trie(operations: list, arguments: list) -> list trả về danh sách kết quả (Không có cho hàm tạo/chèn, bool cho tìm kiếm/startsWith).

Ràng buộc
  • 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

Ví dụ

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?
Hãy cân nhắc sử dụng các cấu trúc dữ liệu dành riêng cho Trie như tập hợp hoặc đống.
Edge Cases to Watch
  • Cấu trúc đầu vào trống
  • Đầu vào phần tử đơn
  • Giới hạn số lớn

Sẵn sàng để giải quyết?

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

Mở trong Trình chỉnh sửa
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

Tài nguyên Python được đề xuất

Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.