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

凡科模板建站网页设计与制作实训报告两千字

凡科模板建站,网页设计与制作实训报告两千字,开拓网站建设,潍坊网站建设哪家好28找出字符串中第一个匹配项的下标 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例 1&#xff…

28找出字符串中第一个匹配项的下标

给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回  -1 

示例 1:

输入:haystack = "sadbutsad", needle = "sad"
输出:0
解释:"sad" 在下标 0 和 6 处匹配。
第一个匹配项的下标是 0 ,所以返回 0 。

示例 2:

输入:haystack = "leetcode", needle = "leeto"
输出:-1

解题思路:KMP算法。不相等j回退到前一个位置的next[j-1],相等j++;next[i]=j;

具体步骤如下

m为匹配串p长度,n为要匹配的长串s长度

1、确定前缀表next的值,初始化next[0]=0

j为前缀末尾,i为后缀末尾,初始j=0,i=1

for(i=1;i<m;i++){

    while(j>0&&p[i]!=p[j])j=next[j-1];//回退冲突的前一个位置

    if(p[i]==p[j])j++;

    next[i]=j;

}

2、匹配过程

 for(i=0,j=0;i<n;i++){

        while(j>0&&s[i]!=p[j])j=next[j-1];

        if(s[i]==p[j])j++;

        if(j==m)return i-m+1;

    }

int strStr(char* haystack, char* needle) {int n=strlen(haystack),m=strlen(needle);if(m==0)return 0;int *next=(int *)malloc(sizeof(int)*(m+1));next[0]=0;//初始化int i,j=0;//i为后缀末尾,j为前缀末尾i//处理next数组,回退到冲突前一个nextfor(i=1;i<m;i++){//前后缀不相同,此处是whilewhile(j>0&&needle[i]!=needle[j]){j=next[j-1];}if(needle[i]==needle[j]){j++;}next[i]=j;}//匹配过程 i为第一个字符串for(i=0,j=0;i<n;i++){while(j>0&&haystack[i]!=needle[j])j=next[j-1];if(haystack[i]==needle[j])j++;if(j==m)return i-m+1;}return -1;
}

--


文章转载自:

http://qlAqsV5u.pgggs.cn
http://kzWbycGv.pgggs.cn
http://VHHGu0A1.pgggs.cn
http://glvAOJ7O.pgggs.cn
http://GA66UVZu.pgggs.cn
http://pL0HvtPL.pgggs.cn
http://u2hcEetL.pgggs.cn
http://7D74r4GX.pgggs.cn
http://sfSz5zOL.pgggs.cn
http://Xigab19z.pgggs.cn
http://uwBblrHI.pgggs.cn
http://ffDLY081.pgggs.cn
http://OoAvewop.pgggs.cn
http://UcyMPO23.pgggs.cn
http://SUxUVEtt.pgggs.cn
http://mmapGQ2A.pgggs.cn
http://YrWDJgFQ.pgggs.cn
http://pWfB5VxC.pgggs.cn
http://Wplh6aYG.pgggs.cn
http://bepeAAJD.pgggs.cn
http://NAfyRIhP.pgggs.cn
http://RowmsWVV.pgggs.cn
http://Alx4erlT.pgggs.cn
http://LKFSEhl0.pgggs.cn
http://Qyux8O6k.pgggs.cn
http://3fbn6zld.pgggs.cn
http://9lUro0I7.pgggs.cn
http://TLz9cw8a.pgggs.cn
http://omTNZJdD.pgggs.cn
http://6TBMCzkM.pgggs.cn
http://www.dtcms.com/wzjs/638518.html

相关文章:

  • 中企动力全网门户网站在万网上域名了怎么做网站
  • 做电视的视频网站吗中文网站建设解决方案
  • 搭网站要多少钱电子商务网站建设教学计划
  • 怎么建设一个公司网站视觉差的网站
  • 南阳集团网站建设做外单的网站
  • 软件下载网站地址成都网站建设哪里有
  • 石家庄企业网站开发2万元自己动手装修房子
  • 帝国建站模板苏州网站排名
  • 北京做网站开发公司电话网站内页模板
  • 电子商务网站建设携程建网站什么样的域名最好
  • 许昌市网站开发凯里做网站
  • 百度网盟推广怎么选择投放网站电销系统软件排名
  • 银川网站开发白云高端网站建设案例
  • 网站代码上传后无法打开南京江北新区教师招聘
  • cad做兼职区哪个网站网站专题设计稿
  • 建站网站怎么上传代码展示型网页设计
  • 福建省建设工程职业注册网站公司做网站 需要准备什么
  • 现在个人都在哪个网站做外贸河南如何优化网站
  • wordpress 下载网站模板seo是什么意思 为什么要做seo
  • 常州公司做网站的流程西安网约车租赁公司哪家好
  • 为什么网站有不同的扩展名网站服务器建设软件
  • 开发网站需要多少人鄂州一网
  • 哈尔滨网站建设效果好免费发布广告
  • redis做网站微信的官方网站怎么做
  • 北京建设银行网站首页微信安装
  • 个人视频网站应该怎么做flash 网站 模板
  • 许昌网站制作专业郑州做网站的公司
  • 医疗网站女性专题网页设计模板网站的栏目和板块
  • 郑州建设厅官方网站书店网站模板下载
  • 网站建设的报价方案网站新建设请示