当前位置: 首页 > news >正文

磐安建设局网站三明城乡建设网站

磐安建设局网站,三明城乡建设网站,网络营销论坛有哪些,网站百度推广题目描述: Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。 请你实现 Trie 类: …

题目描述:

Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。

请你实现 Trie 类:

  • Trie() 初始化前缀树对象。
  • void insert(String word) 向前缀树中插入字符串 word 。
  • boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false 。
  • boolean startsWith(String prefix) 如果之前已经插入的字符串 word 的前缀之一为 prefix ,返回 true ;否则,返回 false 。

 

示例:

输入
["Trie", "insert", "search", "search", "startsWith", "insert", "search"]
[[], ["apple"], ["apple"], ["app"], ["app"], ["app"], ["app"]]
输出
[null, null, true, false, true, null, true]解释
Trie trie = new Trie();
trie.insert("apple");
trie.search("apple");   // 返回 True
trie.search("app");     // 返回 False
trie.startsWith("app"); // 返回 True
trie.insert("app");
trie.search("app");     // 返回 True

 

提示:

  • 1 <= word.length, prefix.length <= 2000
  • word 和 prefix 仅由小写英文字母组成
  • insertsearch 和 startsWith 调用次数 总计 不超过 3 * 104 次

 

我的作答:

救命救命不会

class Node:__slots__ = 'son', 'end' #和__dict__的区别在于不会改变def __init__(self):self.son = [None]*26 #新型的定义方式self.end = False
class Trie:def __init__(self):self.root = Node()def insert(self, word: str) -> None:cur = self.rootfor char in word:char = ord(char)-ord('a') #字母的对应位置if not cur.son[char]:cur.son[char] = Node() #相当于在son的对应字母位置创建一个nodecur = cur.son[char]cur.end = Truedef find(self, word: str) -> bool:cur = self.rootfor char in word:char = ord(char)-ord('a')if not cur.son[char]:return 0cur = cur.son[char]return 2 if cur.end else 1 #走到end了就返回2否则1def search(self, word: str) -> bool:return self.find(word)==2def startsWith(self, prefix: str) -> bool:return self.find(prefix)!=0

 

参考:

 

http://www.dtcms.com/a/607744.html

相关文章:

  • 深圳住房与建设局网站网页与网站的区别是什么
  • 32位汇编:实验11子程序调用
  • 网站开发用px好还是em好企业网站建设综合实训心得体会
  • 网站定制牛七科技校园营销渠道有哪些
  • 做视频的网站做百度网站需不需要备案吗
  • 可以刮刮卡的网站wordpress用户搜索次数
  • phpcms网站seo怎么做抚松做网站
  • window.crypto
  • 校招面经(一)入门篇
  • 织梦生成网站地图什么是网络营销?网络营销有哪些内容?
  • 哈尔滨网站制作专业铁路最好的5个专业学校
  • 国家高新技术企业查询网站徐州关键字优化公司
  • 手机咋建网站建设英文网站的请示
  • (4)Kafka消费者分区策略、Rebalance、Offset存储机制
  • 网站后台都需要什么软件做电子印章制作生成免费
  • 销型网站建设必须的步骤包括网站开发需要的软件有哪些
  • 有做lol直播网站有哪些app制作定制外包服务商e
  • BFS-走迷宫和八数码-java实现
  • 从Manifest V2到V3:Chrome插件开发全解析
  • 百家号和网站同步做建筑公司信用分查询官网
  • 怎么给网站做301绍兴建设网站制作
  • 网站建设项目报告总结报告wordpress 图标上传
  • 网站建设后端技术长春做网络推广的公司
  • 个人网站建设怎么样怎么把自己做的网站上传到网上
  • 无锡网站的建设软件开发外包合同范本
  • RustDesk搭建公网中继服务器远控内网机器(完整版)
  • 站长工具app官方下载wordpress会员积分邀请
  • 网站注册页面htmlphp+ajax网站开发典型实例pdf
  • 如何用excel来做网站后台网站建设管理汇报
  • 虚拟空间有独立ip吗