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

浙江信息港证件查询seo搜索引擎优化营销案例

浙江信息港证件查询,seo搜索引擎优化营销案例,门户网站优化方案,棕色网站模板Day 67 题目描述 思路 初次思路:此时还不了解什么是前缀树,尝试自己实现一下 由于我们需要快速定位前缀和字符串,于是我想到了使用hashset实现,tes用于存放字符串,prefixs存放前缀,获取前缀通过使用subst…

Day 67

题目描述

在这里插入图片描述

思路

初次思路:此时还不了解什么是前缀树,尝试自己实现一下
由于我们需要快速定位前缀和字符串,于是我想到了使用hashset实现,tes用于存放字符串,prefixs存放前缀,获取前缀通过使用substring进行拆分。

class Trie {Set<String>tes;Set<String>prefixs;public Trie() {tes=new HashSet<String>();prefixs=new HashSet<String>();num=new ArrayList<String>();}public void insert(String word) {if(tes.contains(word)){return;}else{tes.add(word);for(int i=0;i<=word.length();i++){String a=word.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() {child=new Trie[26];isend=false;}public void insert(String word) {Trie node=this;//根节点for(int i=0;i<word.length();i++){char a=word.charAt(i);int index=a-'a';//转化为序号if(node.child[index]==null){node.child[index]=new Trie();//创建为新孩子}node=node.child[index];//移动到下一个孩子}node.isend=true;//将结束标志置为true}public boolean search(String word) {Trie node=searchPrefix(word);if(node!=null&&node.isend){return true;}return false;}public boolean startsWith(String prefix) {Trie node=searchPrefix(prefix);if(node!=null){return true;}return false;}public Trie searchPrefix(String prefix){Trie node=this;for(int i=0;i<prefix.length();i++){char a=prefix.charAt(i);int index=a-'a';if(node.child[index]==null){//还没遍历完前缀就结束了 说明找不到return null;}node=node.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.yayakq.cn/news/895114/

相关文章:

  • 哈尔滨建设银行网站首页怎么建立自己的网站免费
  • 北京建机职业技能鉴定中心官网北京seo设计公司
  • 学做网站看什么书wordpress在线教程
  • 湛江网站制作计划网站建设多少钱一个月
  • 国外做文化的网站企业电子商务网站有哪些功能
  • 起飞页做网站步骤三站一体网站制作
  • 套做网站企点是干嘛用的
  • 分析网站设计对网站搜索引擎友好性的影响去哪里推广软件效果好
  • 天津学网站建设在线制作ppt
  • 餐饮网站建设研究问题无锡网站建设设计公司
  • 北京响应式的网站唐山seo排名外包
  • 移动端网站是什么定制型网站 成功案例
  • 策划方案网站做网站分辨率多少钱
  • 兰州网站程序建设广水做网站
  • 企业对企业的电子商务网站有哪些龙岩建筑网
  • 商丘网站建设有哪些网页代码用什么软件
  • 广东省住房城乡建设厅官方网站甘肃建设住房厅网站首页
  • 哪个网站可以免费做国外网站建设公司 选中企动力公司
  • 北京建设执业网站wordpress最底部
  • 有没有做美食的规模网站网站开发这个专业前景怎样
  • 电商网站建设实训步骤无锡网络营销推广公司
  • 做网站的国标有哪些获胜者网站建设
  • 做网站页面对PS切图塘沽建设网站
  • 济南集团网站建设公司好社交网站怎么制作
  • 中山网站建设思建设股票网站
  • 花都商城网站建设wordpress press
  • 企业做国外网站多少钱美工网站做兼职
  • 武安城乡建设网站wordpress评论不能用
  • 网站建设飠金手指下拉附近的网站设计开发
  • 怎么做钓qq密码网站网站建设的公司选哪家