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

【20250211】字符串:459.重复的子字符串

#方法一:暴力求解法

# class Solution:

#     def repeatedSubstringPattern(self, s):

#         n = len(s)

#         substr = ""

#         #只重复一次不算“重复多次”

#         if n <= 1:

#             return False

#         else:

#             for i in range(1, n//2 + 1):

#                      #先获取子串,通过获取结束的位置,从而确定子串(因为开始位置可以确定为从头开始)

#                      #但是需要注意,切片是左开右闭的,因此i不是结束位置的下标,而是子串的长度

#                      #如果原字符串长度可以被当前子串长度整除,才有可能完全由这个子串重复构成

#                 if n % i == 0:

#                     substr = s[:i]

#                          #再判断这个子串能不能组成这个字符串

#                     if substr * (n//i) == s:

#                        return True  

#             return False

#方法二:移动匹配 这种方法代码随想录中给出了充分性和必要性的证明

# class Solution:

#     def repeatedSubstringPattern(self,s):  

#         n = len(s)

#         if n <= 1:

#             return False

#         #切片的基本形式是s[start:stop],start省略的话,则默认为0,stop省略的话,默认为字符串的长度,可以为负索引,-1表示倒数第一个索引(不包含倒数第一个)

#         ss = s[1:] + s[:-1]

#         print(ss.find(s))              

#         return ss.find(s) != -1

class Solution:

    def repeatedSubstringPattern(self,s):

        n=len(s)

        if n<=1:

            return False

        else:

            ss=s[1:]+s[:-1]

            #这里要清楚find如果没有找到的话,返回值是-1

            if ss.find(s)!=-1:

                return True

            else:

                return False

#方法三:KMP

http://www.lryc.cn/news/535189.html

相关文章:

  • 【DeepSeek学Cuda】矩阵转置:行读取优先还是列读取优先。
  • 如何将3DMAX中的3D文件转换为AutoCAD中的2D图形?
  • Softhsm储存安全数据性能整理
  • 【C++】——精细化哈希表架构:理论与实践的综合分析
  • 【cocos creator】拖拽排序列表
  • b站——《【强化学习】一小时完全入门》学习笔记及代码(1-3 多臂老虎机)
  • 【Mac排错】ls: command not found 终端命令失效的解决办法
  • 探秘Hugging Face与DeepSeek:AI开源世界的闪耀双子星
  • SkyWalking 10.1.0 实战:从零构建全链路监控,解锁微服务性能优化新境界
  • 本地部署DeepSeek-R1(Mac版)
  • 网易易盾接入DeepSeek,数字内容安全“智”理能力全面升级
  • apachePoi中XSSFClientAnchor图片坐标简述;填充多张图片
  • Java、Go、Rust、Node.js 的内存占比及优缺点分析
  • C++智能指针的使用
  • 计算机毕业设计——Springboot的社区维修平台旅游管理
  • MySQL ALTER 命令详解
  • 02、QLExpress从入门到放弃,相关API和文档
  • Mp4视频播放机无法播放视频-批量修改视频分辨率(帧宽、帧高)
  • deepseek大模型集成到idea
  • AI基础 -- AI学习路径图
  • 在 Visual Studio Code 与微信开发者工具中调试使用 emscripten 基于 C 生成的 WASM 代码
  • elasticsearch实战应用从入门到高效使用java集成es快速上手
  • 【OneAPI】通过网页预渲染让搜索引擎收录网页
  • 【网络安全.渗透测试】Cobalt strike(CS)工具使用说明
  • 港中文腾讯提出可穿戴3D资产生成方法BAG,可自动生成服装和配饰等3D资产如,并适应特定的人体模型。
  • 【C语言标准库函数】标准输入输出函数详解[4]:二进制文件读写函数
  • Python:凯撒密码
  • C++引用深度详解
  • C++ Primer 语句作用域
  • github - 使用