新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
KMP算法难度较大,在理解时会有很大的难度,在这里建议大家参考LeetCode28. 实现 strStr()、LeetCode459.重复的子字符串两个题目,并参照代码随想录进一步理解
成都创新互联公司提供成都做网站、网站设计、网页设计,成都品牌网站建设,广告投放平台等致力于企业网站建设与公司网站制作,10余年的网站开发和建站经验,助力企业信息化建设,成功案例突破超过千家,是您实现网站建设的好选择.网址如下:
LeetCode28文章讲解
https://programmercarl.com/0028.%E5%AE%9E%E7%8E%B0strStr.html
LeetCode459文章讲解
https://programmercarl.com/0459.%E9%87%8D%E5%A4%8D%E7%9A%84%E5%AD%90%E5%AD%97%E7%AC%A6%E4%B8%B2.html
本文中预先附上KMP算法的相关代码,供大家学习参考
(二刷再战)
void getNext(int* next, const string& s){
int j = -1;
next[0] = j;
for(int i = 1; i< s.size(); i++) { // 注意i从1开始
while (j >= 0 && s[i] != s[j + 1]) { // 前后缀不相同了
j = next[j]; // 向前回退
}
if (s[i] == s[j + 1]) { // 找到相同的前后缀
j++;
}
next[i] = j; // 将j(前缀的长度)赋给next[i]
}
}
总结篇
字符串的内容相对来说比较简单,总的来看考察题型分为这几种:
字符串的基本操作
库函数的相关使用
双指针法
反转系列
KMP算法的相关应用(重点)
字符串类类型的题目,往往想法比较简单,但是实现起来并不容易,复杂的字符串题目非常考验对代码的掌控能力。
特别注意双指针法是字符串处理的常客。
加油💪!
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧