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

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

题目:

题解:

class Solution:
    def repeatedSubstringPattern(self, s: str) -> bool:
        def kmp(query: str, pattern: str) -> bool:
            n, m = len(query), len(pattern)
            fail = [-1] * m
            for i in range(1, m):
                j = fail[i - 1]
                while j != -1 and pattern[j + 1] != pattern[i]:
                    j = fail[j]
                if pattern[j + 1] == pattern[i]:
                    fail[i] = j + 1
            match = -1
            for i in range(1, n - 1):
                while match != -1 and pattern[match + 1] != query[i]:
                    match = fail[match]
                if pattern[match + 1] == query[i]:
                    match += 1
                    if match == m - 1:
                        return True
            return False
        
        return kmp(s + s, s)

http://www.kler.cn/news/341254.html

相关文章:

  • Nacos-Feign-Gateway-SpringCloud微服务
  • 本田汽车投资SiLC Technologies:携手共促自动驾驶技术新飞跃
  • Python-Pandas
  • java算法OJ(2)链表
  • CUDA、Pytorch、Pycharm的安装与配置
  • 017 平台属性[属性分组、规格参数、销售属性]
  • Android 10.0 修改Systemui三键导航栏虚拟按键颜色功能实现
  • 链表Set_LinkList(并集)
  • 开源城市运动预约的工具类小程序源码
  • 【题目全解】ACGO排位赛#13
  • 电脑屏保设置教程 好看的电脑屏保应该怎么设置?
  • 夜间数据库IO负载飙升?MySQL批量删除操作引发的问题排查
  • 立志最细,FreeRtos中的信号量Semaphore教程详解!!!
  • Python 全栈开发从入门到实战进阶课程
  • AtCoder Beginner Contest 374 题A-D 详细题解(C++, Python)
  • 计算机视觉的应用36-人工智能时代计算机视觉技术在电力系统中的应用
  • Web Service Sender ParseError Invalid byte 1 of 1-byte UTF-8 sequence
  • 书籍第4章-SAP项目中的数据迁移
  • GO网络编程(六):海量用户通信系统4:读写数据包与登录消息处理
  • 运维问题0004:MM模块-操作MIGO过账报错“对象OFN_YR 2840 WE2840 的编码范围没有找到”