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

【字符串】Z函数 - 模板

z [ i ] z[i] z[i] 表示字符串 s s s s [ i , n − 1 ] s[i,\ n - 1] s[i, n1] 的最长前缀的长度,特别的, z [ 0 ] = 0 z[0]=0 z[0]=0

// *********Z函数**************
// - 时间复杂度 O(n)
vector<int> z_function(string s) {int n = (int)s.length();vector<int> z(n);for (int i = 1, l = 0, r = 0; i < n; ++i) {if (i <= r && z[i - l] < r - i + 1) {z[i] = z[i - l];} else {z[i] = max(0, r - i + 1);while (i + z[i] < n && s[z[i]] == s[i + z[i]]) ++z[i];}if (i + z[i] - 1 > r) l = i, r = i + z[i] - 1;}return z;
}
http://www.lryc.cn/news/430127.html

相关文章:

  • MySQL范围分区分区表
  • 网络UDP报文详细解析
  • 望繁信科技入选2024年第3批上海市高新技术成果转化项目名单
  • 深入探讨MySQL的锁机制:全局锁、表级锁和行级锁
  • iLogtail 开源两周年:感恩遇见,畅想未来
  • 写给大数据开发:在Databricks中自定义函数
  • VMware vSphere Client无法访问和连接ESXi虚拟主机解决思路
  • 实现Kruskal算法连通游戏地图地牢
  • turtle画图知识
  • Elasticsearch简述
  • SQL— DDL语句学习【后端 9】
  • 线程池介绍
  • 如何备份电脑所有数据?有哪些方法值得参考借鉴?
  • 初识--树(1)
  • 渗透测试实战-菠菜站渗透测试(Nacos反序列化漏洞利用)
  • Pytest框架直接右键运行 testcase.py,不执行最外层conftest
  • Cxx primer-chap15-Object-Oriented Programming
  • 当黑神话遇上AI:悟空背后的策划逆袭战
  • 外呼触发通知发送闪信(mod_cti基于FreeSWITCH)
  • 8.Java基础概念-方法
  • 360安全浏览器如何彻底卸载
  • 构建基于LLM的应用程序——使用LLM的搜索和推荐引擎
  • Unity3D 模型碰撞检测问题详解
  • springcloud集成seata实现分布式事务
  • [Leetcode 61][Medium]-旋转链表
  • 高效分页策略:掌握 LIMIT 语句的正确使用方法与最佳实践
  • 拼图游戏02
  • 在本地进行Django支付宝扫码支付-当面付开发
  • redis-RedisTemplate.opsForGeo 的geo地理位置相关的方法演示
  • 做短视频矩阵要十几人团队吗?云微客助阵,一人即可