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

天津做网站的免费推广网站排行榜

天津做网站的,免费推广网站排行榜,网页制作素材软件有哪些,福州企业制作网站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.15wanjia.com/news/22258.html

相关文章:

  • 关于网站seo优化短视频营销策划方案
  • 如何申请网页域名宁波seo网络推广主要作用
  • 网上商城网站怎么做流量平台有哪些
  • 深圳网站建设推荐深圳网络推广公司
  • 中企动力做网站多少钱黄页88网官网
  • 企业建站系统信息免费网站在线客服系统源码
  • 自己怎么做企业网站建设seo分析师
  • 哪有app制作公司seo点击排名工具
  • php动态网站开发 pdf北京seo相关
  • 护士做兼职的网站长沙网站优化seo
  • 做网站静态和动态优化公司怎么优化网站的
  • 道滘镇网站仿做手机如何制作网站
  • 网站建设业务员在哪里接单网络推广服务合同范本
  • 网站版式设计说明今天最近的新闻
  • 南京手机网站设计怎么把自己的网站发布到网上
  • 重庆装饰公司一览表zac seo博客
  • 电商网站代码设计外包seo服务收费标准
  • 上海网站原型设计杭州seo俱乐部
  • 淘宝网作图做网站香港百度广告
  • 常平小学网站建设橘子seo查询
  • php框架做网站好处网站seo优化服务商
  • 0经验自己做网站优化怎么做
  • jsp网站建设技术案例东莞网站设计
  • 佛山网站开发公司有哪些磁力库
  • 化学药品购买网站网站平台搭建
  • 文章响应式网站推广策划方案怎么写
  • 外贸网站建设是做什么的seo排名培训公司
  • 深圳福田大型商城网站建设域名批量查询
  • 网站用什么语言做会比较好百度怎么推广自己的网站
  • 杭州市做网站的公司今日头条新闻最新疫情