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

asp.net网站安装教程四川省城乡住房建设部网站首页

asp.net网站安装教程,四川省城乡住房建设部网站首页,p2p信贷网站建设,自己做培训网站1140:验证子串--KMP 题目 解析next.data()KMP代码Find代码 题目 解析 对于字符串的匹配常见的KMP算法【面试常考】 KMP中需要注意的是:应该从下标1开始遍历,因为下标0前面无值,不能匹配next 固在循环外应初始next[0]0;//易忘点 …

1140:验证子串--KMP

    • 题目
  • 解析
    • next.data()
    • KMP代码
    • Find代码

题目

在这里插入图片描述

解析

对于字符串的匹配常见的KMP算法【面试常考】

KMP中需要注意的是:应该从下标1开始遍历,因为下标0前面无值,不能匹配next
固在循环外应初始next[0]=0;//易忘点

next[0]=0;//易错点
//i需从1开始遍历,因为下标0前面无值,不能匹配nextfor(int i=1;i<s.size();i++)

便于使用的find代码也在下面了

next.data()

next.data()是std::vector容器的一个成员函数,它的作用是获取底层数组的首地址

vector<int> next(10); // 创建一个有10个int的数组
int* ptr = next.data(); // 获取底层数组的首地址

KMP代码

#include <iostream>
#include <vector>
#include<set>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <climits>  // 包含INT_MAX常量
#include <cctype>
#include<map>
using namespace std;void getNext(string s,int *next){int j=0;next[0]=0;
//i需从1开始遍历,因为下标0前面无值,不能匹配nextfor(int i=1;i<s.size();i++){while(j>0&&s[i]!=s[j]) j=next[j-1];if(s[i]==s[j]) j++;next[i]=j;}
}bool check(string s1,string s2){if(s2.size()==0) return true;vector<int>next(s2.size());getNext(s2,next.data());int j=0;for(int i=0;i<s1.size();i++){while(j>0&&s1[i]!=s2[j]) j=next[j-1];if(s1[i]==s2[j]) j++;if(j==s2.size()) return true;}return false;
}
int main(){string s1,s2;cin>>s1>>s2;if(check(s2,s1)){cout<<s1 << " is substring of " << s2 << endl;return 0;}if(check(s1,s2)){cout<< s2 << " is substring of " << s1 << endl;return 0;}cout<<"No substring" << endl;
return 0;
}

Find代码

#include<iostream>
#include<string>
#include<map>
#include<algorithm>
using namespace std;
const int N = 1e2 + 10;
int a[N];
int cnt;
int main()
{string s1, s2;cin >> s1 >> s2;if (s1.length() > s2.length()){if (s1.find(s2) != -1)cout << s2 << " is substring of " << s1;elsecout << "No substring";}//这里的else覆盖率长度相等的情况elseif (s2.find(s1) != -1)cout << s1 << " is substring of " << s2;elsecout << "No substring";
}
http://www.dtcms.com/wzjs/533825.html

相关文章:

  • 做购物网站开发价格大连微网站开发
  • 常德网站建设开发哪家好网站集约化建设工作总结
  • 一键免费生成网页的网站怎么改网站模块
  • 网站开发信息文档建站系统源码
  • 广州seo网站优化培训延吉网站建设公司
  • 织梦网站被攻击html5博客网站模板
  • 小网站开发设计师对网站的意义
  • 17网站一起做网站怎样做外链
  • 高青网站建设yx718新乡网站优化公司
  • 网站ftp查询公众号开发教程视频
  • 南山做网站网站建设郑州公司
  • 电商网站改版思路wordpress设置版权
  • linux 如何做网站丰台网站开发联系电话
  • 网站搭建什么意思岳阳博物馆网站
  • 网站需求分析的主要内容无锡模板建站源码
  • 做宽带销售网站从哪个网站找钢做的微商
  • app使用什么做的网站精通网站建设 pdf微盘
  • 站长统计入口广东省建设局网站
  • 网站开发技术人员保密协议发布网站后备案
  • 成都价格网站建设服务公司wordpress灯箱代码
  • 短链接生成接口免费seo刷排名
  • 如何做企业网站内容策划如何看到网站的建设时间
  • 怎么给自己的网站做seo深圳南山建设局官方网站
  • wordpress 登录跳转谷歌seo搜索优化
  • 绍兴网站建设做网站坪地网站建设信息
  • 坂田网站建设推广公司网站建设 dw
  • 网站建设高清图兰州 网站建设公司
  • 淘宝客建设网站什么网站合适做流量
  • 微信公众号做的网站如何登陆工商局网站做变更
  • 做一个高端网站多少钱免费网站如何做宣传