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

LeetCode--459.重复的子字符串(字符串/KMP算法)

459.重复的子字符串

题目描述

给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。

示例 1:

输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。

示例 2:

输入: s = "aba" 输出: false

示例 3:

输入: s = "abcabcabcabc" 输出: true 解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)

提示:

  • 1 <= s.length <= 104
  • s由小写英文字母组成

解题思路

利用KMP算法,找到与最长相等前后缀子串互补的子串:

代码

classSolution{publicbooleanrepeatedSubstringPattern(Strings){intlen=s.length();int[]next=newint[len];// 初始化intj=0;next[0]=j;for(inti=1;i<len;i++){// 最长前缀和最长后缀不匹配// 这里只关注第i个字符左侧字符串(不包含i)的前后缀while(j>0&&s.charAt(i)!=s.charAt(j)){// 回退j=next[j-1];}// 匹配成功if(s.charAt(i)==s.charAt(j))j++;next[i]=j;}if(next[len-1]!=0&&len%(len-next[len-1])==0)returntrue;returnfalse;}}
http://www.jsqmd.com/news/625822/

相关文章:

  • FastAPI 数据库连接池优化与高并发实战
  • PyTorch 2.8镜像中的模型安全与鲁棒性测试:对抗样本生成
  • CoPaw性能调优教程:GPU显存优化与推理速度提升参数详解
  • LaTeX2Word-Equation:3秒搞定公式迁移,学术写作效率提升90%
  • 2026年贵州贵阳办公玻璃隔断源头工厂深度横评:五大品牌性价比对标指南 - 精选优质企业推荐榜
  • 别再死记硬背了!用C++图解递归折半查找和二叉排序树,面试官都夸你理解透彻
  • AI+Dify实战:零代码构建新闻聚合与智能分析全栈应用
  • 华为-AC+FIT AP组网(web方式)
  • AI开发-python-langchain框架(--AI 直接生成并执行 Python 代码 )诳
  • 2026贵州贵阳玻璃隔断定制源头工厂对标深评:五大品牌隔音隔热性能与交付周期横评 - 精选优质企业推荐榜
  • 技术适配器中的接口转换与兼容处理
  • Linux内核中的RCU机制详解
  • 2026贵州贵阳玻璃隔断定制源头工厂深度横评:5大品牌隔音隔热性能对比指南 - 精选优质企业推荐榜
  • Excel VBA 入门到精通(七):用户窗体设计
  • Linux内核中的KVM虚拟化详解
  • vSphere虚拟化实战:从ESXI安装到服务部署全解析
  • AI 时代,计算机专业学生该怎么学?簿
  • 2026年贵州贵阳玻璃隔断源头工厂定制方案深度对标——五大品牌采购指南 - 精选优质企业推荐榜
  • 好用的芯片底部填充胶源头厂家
  • 模电实战:从特性曲线到电路搭建,深入解析场效应管放大原理
  • 2026年贵州贵阳玻璃隔断源头工厂深度横评:从采光隔音到成本控制的完整选购指南 - 精选优质企业推荐榜
  • 2026年贵州贵阳玻璃隔断办公空间定制指南:源头工厂直供与隔音隔热性能对标 - 精选优质企业推荐榜
  • 从Pixel2Geo到MatrixFusion:镜像视界拆解危化园区数字孪生核心技术,30cm定位精度碾压传统方案
  • 2026年贵州贵阳玻璃隔断定制源头工厂深度横评指南——从采光困境到空间革命 - 精选优质企业推荐榜
  • 每日热门Skill研究报告:Browser-Use 深度研究报告
  • 当Unity游戏遇上西瓜:MelonLoader的双运行时模组加载革命
  • 用Outer参数管理游戏对象:在UE5里像搭积木一样组织你的Actor和Component
  • AudioSeal开源大模型应用:构建AIGC内容存证区块链的音频哈希锚定层
  • nanobot快速部署指南:超轻量级AI助手,5分钟搞定智能对话与任务执行
  • BUUCTF(MISC)_[DDCTF2018]