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

网站开发主管待遇小广告图片

网站开发主管待遇,小广告图片,重庆南川网站制作公司哪家专业,html5响应式网站建设平台思路: 一开始我使用暴力过的,但是感觉还是不完美,想学习一下KMP的写法,所以这篇笔记就来了,首先KMP算法就要先维护一个最长相等前后缀的一个数组(统称前缀表),那么这个数组为什么能找…

思路:

一开始我使用暴力过的,但是感觉还是不完美,想学习一下KMP的写法,所以这篇笔记就来了,首先KMP算法就要先维护一个最长相等前后缀的一个数组(统称前缀表),那么这个数组为什么能找出相等字符串呢?因为这个前缀表是维护了当前模式串最长前后缀,一旦出现不相等的情况,就可以根据不相等的位置的前一个位置的下标的值,就是需要回退的次数。

我的理解就是先想KMP算法的时间复杂度,是O(n+m),那么就是一个串遍历一遍,给出的文本串遍历一遍,给出的模式串遍历一遍,所以通过时间复杂度就知道这道题大概的一个for循环的方向,肯定是先遍历模式串算出前缀表,然后再遍历文本串结合前缀表得出答案。其实这个前缀表就在两个字符串中找相等的字符串。

那么说说前缀表怎么算出来的,遍历模式串,然后再来个双指针,初始的时候,头指针指向前缀的头部,尾指针指向后缀的尾部。(注意:前缀-不包含尾指针就是前缀,后缀-不包含尾指针就是后缀)所以尾指针就是初始为1,头指针为0。

前缀表一共三步:

1.头尾指针不相等,那么说明现在前后缀不一样,那么就让头指针向前退一步,直到两个指针相等。

2. 头尾指针相等的时候,就是说明存在前后缀一样的值了,那么就让头指针往后走一步。

3. 最后就是更新前缀表的值,遍历模式串的是i,所以next[i] = j,j就代表了当前最长相等的前后缀的个数。

通过拿到的前缀表,我们再对文本串进行遍历,就可以得到当前相等串的第一个下标了,详细的看代码和代码随想录的解释。

代码:

class Solution {public int strStr(String haystack, String needle) {if (needle.length() == 0)return 0;int[] next = new int[needle.length()];getNext(next, needle);int j = 0;for (int i = 0; i < haystack.length(); i++) {while (j > 0 && needle.charAt(j) != haystack.charAt(i)) {j = next[j - 1];}if (needle.charAt(j) == haystack.charAt(i)) {j++;}if (j == needle.length()) {return i - needle.length() + 1;}}return -1;}public void getNext(int[] next, String s) {int j = 0;next[0] = 0;for (int i = 1; i < s.length(); i++) {while (j > 0 && s.charAt(j) != s.charAt(i)) {j = next[j - 1];}if (s.charAt(j) == s.charAt(i)) {j++;}next[i] = j;}}
}

 

http://www.dtcms.com/wzjs/288127.html

相关文章:

  • 广州网站制作服务百度手机助手app下载并安装
  • 有没有一起做网站的灰色关键词排名代做
  • wordpress 媒体库设置路由优化大师官网
  • 网站开发并发处理seo公司后付费
  • 上海网站优化公司排名太原网站优化
  • 橙子建站哪里注册关键词竞价排名
  • 廊坊网站建设维护百度品牌广告是什么
  • 做机械方面外贸最大的网站石景山区百科seo
  • 杭州手机网站建设公司北京seo
  • 重庆巫山网站设计公司唐山seo推广公司
  • 钦州做网站整合营销活动策划方案
  • 深圳四站合一网站建设电话软文营销代理
  • wordpress做旅游网站搜索引擎优化课程
  • 番禺建设银行网站首页洗发水营销推广软文800字
  • 维护网站费用怎么做会计凭证北京网站seo优化推广
  • 免备案网站建设seoaoo
  • 如何选择电商网站建设营销app
  • 济南房产网经纪人端重庆网页优化seo
  • 锡林浩特建设局网站网站内链优化
  • 大武口网站建设抖音seo排名优化
  • 临沂做公司网站seow
  • 谁做的新闻网站比较好网络黄页平台网址有哪些
  • 帮人做网站赚钱中国十大品牌营销策划公司
  • 集团网站建设方案书什么叫做优化
  • 淅川微网站开发比百度好用的搜索软件
  • 深圳网站建设计站长之家新网址
  • 购物网站设计公司深圳靠谱网站建设公司
  • 网站建设基本常识网络营销产品策略分析
  • 福永镇网站建设网络营销大赛策划书
  • wordpress 文章收费seo排名怎么样