同步操作将从 编程语言算法集/Python 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
strings directory (#5817)
from __future__ import annotationsEND = "#"class Trie:def __init__(self) -> None:self._trie: dict = {}def insert_word(self, text: str) -> None:trie = self._triefor char in text:if char not in trie:trie[char] = {}trie = trie[char]trie[END] = Truedef find_word(self, prefix: str) -> tuple | list:trie = self._triefor char in prefix:if char in trie:trie = trie[char]else:return []return self._elements(trie)def _elements(self, d: dict) -> tuple:result = []for c, v in d.items():if c == END:sub_result = [" "]else:sub_result = [c + s for s in self._elements(v)]result.extend(sub_result)return tuple(result)trie = Trie()words = ("depart", "detergent", "daring", "dog", "deer", "deal")for word in words:trie.insert_word(word)def autocomplete_using_trie(string: str) -> tuple:""">>> trie = Trie()>>> for word in words:... trie.insert_word(word)...>>> matches = autocomplete_using_trie("de")>>> "detergent " in matchesTrue>>> "dog " in matchesFalse"""suffixes = trie.find_word(string)return tuple(string + word for word in suffixes)def main() -> None:print(autocomplete_using_trie("de"))if __name__ == "__main__":import doctestdoctest.testmod()main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。