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

C++ | Leetcode C++题解之第459题重复的子字符串

题目:

题解:

class Solution {
public:bool kmp(const string& query, const string& pattern) {int n = query.size();int m = pattern.size();vector<int> fail(m, -1);for (int i = 1; i < m; ++i) {int j = fail[i - 1];while (j != -1 && pattern[j + 1] != pattern[i]) {j = fail[j];}if (pattern[j + 1] == pattern[i]) {fail[i] = j + 1;}}int match = -1;for (int i = 1; i < n - 1; ++i) {while (match != -1 && pattern[match + 1] != query[i]) {match = fail[match];}if (pattern[match + 1] == query[i]) {++match;if (match == m - 1) {return true;}}}return false;}bool repeatedSubstringPattern(string s) {return kmp(s + s, s);}
};

http://www.mrgr.cn/news/43663.html

相关文章:

  • 设计模式、系统设计 record part03
  • stm32 使用 rt-thread 引脚PIN中断设置边沿触发问题
  • 付费计量系统数据元素(Data elements)
  • llm接口高可用工程实践(尽快关注我,以后这些文章将只对粉丝开放)
  • WSL2Linux 子系统(十二)
  • we3.0里的钱包是什么?
  • CANoe_TestModule截图功能TestReportAddWindowCapture
  • HTML5 新元素
  • 【C++】关键字+命名空间
  • 并查集——从LeetCode题海中总结常见套路
  • C# 文件与文件夹操作指南:深入探索流、文件流及文件夹管理
  • 查缺补漏----IP通信过程
  • Linux下静态库与动态库制作及分文件编程
  • SQL专项练习第三天
  • allegro精确画圆形边框
  • Perl 子程序(函数)
  • SQL Server—T-sql函数详解
  • CXO、CRO、CMO、CDMO相关概念
  • 开源的云平台有哪些?
  • 【分布式微服务云原生】探索Redis:数据结构的艺术与科学