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

怎么给网站在百度地图上做爬虫微信网页版怎么扫描二维码

怎么给网站在百度地图上做爬虫,微信网页版怎么扫描二维码,个人介绍网页,山东省建设银行网站问题关键:完成首次匹配之后需要继续进行模式匹配。 到这一步后,我们不能直接将j 0然后开始下一轮匹配,因为已经匹配过的部分(蓝色部分)中仍然可能存在与模式串重叠的子串: 解决办法: 找到蓝…

问题关键:完成首次匹配之后需要继续进行模式匹配。

 到这一步后,我们不能直接将j = 0然后开始下一轮匹配,因为已经匹配过的部分(蓝色部分)中仍然可能存在与模式串重叠的子串:
 

解决办法:

找到蓝色部分的最大相同前后缀,利用next数组,将 j 回溯到最大前缀的后一个位置开始与目标串进行第二轮匹配。

常见的next数组有两种:

1、当前字符对应的next值是不包括本身的最大相同前后缀字符数:

2、当前字符对应的next值是包括本身的最大相同前后缀字符数:

对于第二种情况,只需在第一轮匹配完成后,如果 i 没有到达目标串末尾,让 j = next[j - 1]即可。

对于第一种情况,则需要将next扩容一位,即next数组最后一位的值是整个模式串中最大相同前后缀的字符数,然后在第一轮匹配完成后,如果 i 没有到达目标串末尾,让 j = next[ j ]即可。
 

参考代码:
next数组是第二种情况
 

#include <iostream>
#include <vector>
#include <string>// 构建 next 数组
void computeNext(const std::string& pattern, std::vector<int>& next) {int m = pattern.length();int len = 0;int i = 1;next[0] = 0;while (i < m) {if (pattern[i] == pattern[len]) {len++;next[i] = len;i++;} else {if (len != 0) {len = next[len - 1];} else {next[i] = 0;i++;}}}
}// KMP 算法
std::vector<int> kmpSearch(const std::string& text, const std::string& pattern) {int n = text.length();int m = pattern.length();std::vector<int> next(m);std::vector<int> result;computeNext(pattern, next);int i = 0; // 文本串的索引int j = 0; // 模式串的索引while (i < n) {if (pattern[j] == text[i]) {j++;i++;}if (j == m) {result.push_back(i - j);j = next[j - 1];} else if (i < n && pattern[j] != text[i]) {if (j != 0) {j = next[j - 1];} else {i++;}}}return result;
}int main() {std::string text = "aaaaaaa";std::string pattern = "aaa";std::vector<int> positions = kmpSearch(text, pattern);if (positions.empty()) {std::cout << "未找到匹配的子串。" << std::endl;} else {std::cout << "匹配的起始下标为: ";for (int pos : positions) {std::cout << pos << " ";}std::cout << std::endl;}return 0;
}    

输出结果:

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

相关文章:

  • 玉林专业网站建设网站搭建原理
  • 泉州市知名网站建设公司全国信息企业公示系统官网
  • 做游戏评论注册国外网站a站全称
  • 怎么做网站推广多少钱深圳logo设计公司哪家好
  • 鸿运通网站建设怎么样最专业的网站建设团队
  • 东莞常平做网站网站建设柒首先金手指6
  • 网站开发的工作经验网站建设服务费费计入什么科目
  • 怎么创建公司的个人网站网站源码路径
  • 网站建设销售需要哪些东莞路桥公司是国企吗
  • 钓鱼网站网址wordpress pjax
  • 公众号中做微网站大学生ppt自我介绍幻灯片
  • 网站500m空间够用吗百度官网下载安装到桌面上
  • 内蒙古自治区精神文明建设网站石家庄网站优化多少钱
  • 网站登录页面模板创网络
  • 西安做网站电话如何查看网站空间
  • 专做电器的网站联想企业网站建设的思路
  • 网站加速器推荐北京建设工程信息网官网入口
  • 做二手网站有哪些500m网站
  • 网时代教育培训机构怎么样网站在线seo
  • 湖北省麻城建设局官方网站重庆企业网站制作公司
  • 为什么说新浪的门户网站做的好wordpress过滤器
  • 浙江住房城乡建设厅网站首页武钢建设公司网站
  • 如何更好的建设和维护网站推荐广东中山网站建设
  • 视频一页网站怎么做门户网站素材
  • 新浪云 建设网站诸葛企业网站建设公司
  • 网站建设盈利html5 wordpress模板
  • 百度快照 直接进入网站免费个人网址
  • 网站建设源码cms开发教程
  • 手把手教你优化网站北京包装设计公司
  • 手机建设网站目的vue 做网站