En İyi 150 RöportajOrta

Trie Önek Ağacını Uygulama

'Trie Önek Ağacını Uygulama' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Orta

Trie ("dene" olarak telaffuz edilir) veya önek ağacı, dizelerden oluşan bir veri kümesindeki anahtarları verimli bir şekilde depolamak ve almak için kullanılan bir ağaç veri yapısıdır. Bu veri yapısının otomatik tamamlama ve yazım denetleyici gibi çeşitli uygulamaları vardır.

Trie sınıfını uygulayın:

- Trie() Trie nesnesini başlatır.

- insert(word: str) Dize kelimesini trie'ye ekler.

- search(word: str) -> bool Eğer dizge sözcüğü trie içindeyse (yani daha önce eklenmişse) True'yu, aksi halde False'ı döndürür.

- startWith(prefix: str) -> bool Önek önekine sahip önceden eklenmiş bir dize sözcüğü varsa True'yu, aksi takdirde False'ı döndürür.

Giriş, işlemlerin ve argümanların bir listesidir. Sonuçların bir listesini döndüren trie(operations: list, arguments: list) -> list işlevini uygulayın (yapıcı/ekleme için Yok, arama/başlangıçlar için bool).

Kısıtlamalar
  • 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

Örnekler

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?
Kümeler veya yığınlar gibi Trie'ye özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

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

Editörde 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

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.