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

无锡论坛网站建设烟台营销型网站建设

无锡论坛网站建设,烟台营销型网站建设,哪种浏览器什么网站都可以进,开发一个网站要学什么软件Day 67 题目描述 思路 初次思路#xff1a;此时还不了解什么是前缀树#xff0c;尝试自己实现一下 由于我们需要快速定位前缀和字符串#xff0c;于是我想到了使用hashset实现#xff0c;tes用于存放字符串#xff0c;prefixs存放前缀#xff0c;获取前缀通过使用subst…Day 67 题目描述 思路 初次思路此时还不了解什么是前缀树尝试自己实现一下 由于我们需要快速定位前缀和字符串于是我想到了使用hashset实现tes用于存放字符串prefixs存放前缀获取前缀通过使用substring进行拆分。 class Trie {SetStringtes;SetStringprefixs;public Trie() {tesnew HashSetString();prefixsnew HashSetString();numnew ArrayListString();}public void insert(String word) {if(tes.contains(word)){return;}else{tes.add(word);for(int i0;iword.length();i){String aword.substring(0,i);prefixs.add(a);}}}public boolean search(String word) {return tes.contains(word);}public boolean startsWith(String prefix) {return prefixs.contains(prefix);} }/*** 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);*/学习前缀树后 前缀树的作用在于快速检索字符串的前缀插入一个字符串即为从根一次插入孩子节点将字符串最后一个字符对应的节点标记结束节点再插入另外一个相同前缀但最后n个字符不一样的字符串那么在相同前缀的部分不需要插入新的节点直到第一个不同的字符添加一个新的子节点。 这样做的好处我们如果要获取两个字符串的前缀只需要从根节点向下遍历比较两个字符串只要到某个节点出现了分支则这个节点之前的节点就是两个字符的公共前缀。同时节约了存储空间 做法如下 class Trie {public Trie[]child;//孩子节点可能插入的是26个英文字母中的一个public boolean isend;//判断是否为一个字符串的结束 区分前缀和字符串public Trie() {childnew Trie[26];isendfalse;}public void insert(String word) {Trie nodethis;//根节点for(int i0;iword.length();i){char aword.charAt(i);int indexa-a;//转化为序号if(node.child[index]null){node.child[index]new Trie();//创建为新孩子}nodenode.child[index];//移动到下一个孩子}node.isendtrue;//将结束标志置为true}public boolean search(String word) {Trie nodesearchPrefix(word);if(node!nullnode.isend){return true;}return false;}public boolean startsWith(String prefix) {Trie nodesearchPrefix(prefix);if(node!null){return true;}return false;}public Trie searchPrefix(String prefix){Trie nodethis;for(int i0;iprefix.length();i){char aprefix.charAt(i);int indexa-a;if(node.child[index]null){//还没遍历完前缀就结束了 说明找不到return null;}nodenode.child[index];}return node;} }/*** 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.ho-use.cn/article/10822513.html

相关文章:

  • 凡科做的网站怎么改壁纸房地产销售政策
  • 成都网站建设cdsqywl网站如何添加浮动窗口
  • ssc网站建设自学手机网站开发
  • 0基础做网站用什么语言手机导航网站模板
  • 宁波智能模板建站pycharm网站开发
  • 成都自适应网站建设 中国人免费的片
  • 建设网站 课程设计企业管理软件的发展趋势
  • 西安市建设银行网站爱站网是干嘛的
  • 网站建设的固定资产包括哪些做电影网站需要
  • 网站怎么做seo优化贵州省遵义市住房城乡建设局网站
  • 河北正规网站建设比较制作网站需要哪些知识
  • tk域名网站个人免费网站注册com
  • 如何对网站的图片做cdn聊城网站策划
  • 怎么做外贸网站优化网站栏目模块
  • 网站建设首页该放什么云服务器搭建
  • 学做网站论坛vip账户资源搜索
  • 搭建英文网站网络app推广是什么工作
  • 网站建设 拖欠尾款wordpress交易排行榜
  • 看摄影作品的网站网站视频做栏目一般一期多钱
  • 东莞网站建设 少儿托管禁止wordpress历史版本
  • 模板网站zencartwordpress 禁用谷歌
  • 郑州网站建设讠汉狮网络快速优化seo
  • 三台网站建设哪家专业wordpress类似的网站
  • 建设网站技术要求win 搭建wordpress
  • 网站建设合同要不要交印花税装饰设计基础
  • 网站收录查询主要由哪几个网站邢台做网站名列前茅
  • 免费做网站的方法抖音代运营协议合同范本
  • 禁止ip直接打开网站网页设计尺寸的分辨率
  • 闵行 网站建设公司微信公众号怎样发布wordpress
  • 网站留言程序怎么做浏阳网站开发