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

西安做网站的公司地址网页设计与制作教程第四版清华大学出版社

西安做网站的公司地址,网页设计与制作教程第四版清华大学出版社,投资网站开发,德州做网站建设的公司Trie#xff08;发音类似 “try”#xff09;或者说 前缀树 是一种树形数据结构#xff0c;用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景#xff0c;例如自动补完和拼写检查。 请你实现 Trie 类#xff1a; Trie() 初始化前缀树对象。 void…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 解题思路 前缀树节点由子节点数组以及是否为单词末尾标记组成子节点数组由26个子节点构成当数组某个元素为空时代表该前缀后面不存在相应的字母。 注意在插入时需要给单词末尾打上标记判断到达该节点时是否存在一个完整的单词 总的来说就是构建一个26叉树代表后续的26个字母从根节点出发到达isEnd为true的路径都是一个单词 代码 class Trie {TrieNode rootnew TrieNode();/** Initialize your data structure here. */public Trie() {}/** Inserts a word into the trie. */public void insert(String word) {TrieNode curroot;for (int i 0; i word.length(); i) {curcur.insert(word.charAt(i));}cur.setEnd(true);}/** Returns if the word is in the trie. */public boolean search(String word) {TrieNode curroot;for (int i 0; i word.length(); i) {cur cur.getChild(word.charAt(i));if(curnull) return false;}return cur.isEnd;}/** Returns if there is any word in the trie that starts with the given prefix. */public boolean startsWith(String word) {TrieNode curroot;for (int i 0; i word.length(); i) {cur cur.getChild(word.charAt(i));if(curnull) return false;}return true;}}class TrieNode{TrieNode[] next;boolean isEndfalse;public TrieNode() {nextnew TrieNode[26];}public boolean isEnd() {return isEnd;}public void setEnd(boolean end) {isEnd end;}public TrieNode getChild(char c){return next[c-a];}public TrieNode insert(char c) {if (getChild(c) null){next[c-a]new TrieNode();}return getChild(c);}} /*** Your Trie object will be instantiated and called as such:* Trie obj new Trie();* obj.insert(word);* boolean param_2 obj.search(word);* boolean param_3 obj.startsWith(prefix);*/
http://www.sadfv.cn/news/208397/

相关文章:

  • 网站开发 jz.woonl做网站要的图片斗鱼
  • 做网站的优势wordpress动态图片
  • 如何做网站建设企业信息系统规划的含义及任务
  • wordpress做的学校网站工作表
  • 网站建设的原则有哪些方面wordpress怎么加音乐
  • 莲都区建设分局网站wordpress如何看访问
  • 西安网站建设总部做网站视频点播难不难
  • 网站备案 两个域名如何创建网站系统教程
  • 网站建设网站网站建设网站如何将微信和企业网站同步
  • 知乎问答网站开发教程做网站美工收费
  • ps网站制作教程网站建设 有必要吗
  • 自助建站系统注册如何做网站店铺
  • 天水市建设路第二小学网站购买空间安装wordpress
  • 成品网站代理网站自然排名工具
  • 网站后台系统的易用性中国国家商标注册网官网
  • 兴业大街网站建设温岭网站设计
  • 淘宝网站建设类直通车自建网站教程
  • 电商网站改版公司网站建设实施方案
  • 关键词搜不到我的网站网站推广系统方案
  • 二级域名网站优化wordpress在线问答插件
  • 全国大学生创业网登录入口win10优化大师好用吗
  • 外贸网站做推广运营网站挣钱方法
  • 做网站开发团队企业管理咨询的内容
  • 石台做网站杭州自助建站软件
  • 查看邮箱注册了哪些网站wordpress导入
  • 做外账要登什么网站哪个网站可以做分期
  • 建设银行网站无法访问做一个网站怎么赚钱
  • 便宜网站建设模板网站wordpress改模板教程视频教程
  • 云南网站推广合肥360seo排名
  • 网站忧化技巧网站开发调研报告