当前位置: 首页 > 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.cnnetsun.cn/news/1834345.html

相关文章:

  • 智能密码解锁实战:ArchivePasswordTestTool高效恢复加密压缩包全攻略
  • 每日热门Skill研究报告:Browser-Use 深度研究报告
  • Rust网络编程Tokio运行时原理
  • 技术团队管理
  • LaTeX2Word-Equation:3秒搞定公式迁移,学术写作效率提升90%
  • 【人生底稿 13】2020 年 11 月部门调整:从人脸业务到政务行业信息化,我的第二次职场转型,从组长到项目经理
  • 没有界面的 SaaS,反而更值钱?|企服“虾“想
  • 如何用Markdown颠覆传统PPT制作:一站式演示文稿解决方案
  • 桌面卡牌批量生成器终极指南:3步完成100张专业卡牌设计
  • 喔去,litellm 竟然被投毒了,赶紧检查你的机器中招了没有斯
  • RDF 规则:构建语义网的标准指南
  • 阿里“欢乐马”登顶AI视频生成榜单,剑指字节跳动
  • MKVToolNix 98.0 发布:功能升级与问题修复并进
  • OpenClaw 主程序 2026.4.5 升到 2026.4.9
  • 自然语言处理趋势
  • 智能体学习16——学习与适应(Learning-and-Adaptation)-深入解读
  • 软件可访问性中的包容性设计原则
  • 如何5分钟免费激活Windows和Office:KMS_VL_ALL_AIO智能脚本终极指南
  • Windows PDF处理终极方案:5分钟部署Poppler完整工具包
  • [ICLR23]LightGCL揭秘:如何通过SVD增强图对比学习在推荐系统中的表现
  • crossoverJie把
  • 构建毫秒级响应、TB级吞吐、零人工干预的数据Pipeline:揭秘某千亿参数模型背后的12个原子化算子设计
  • 【奇点密档·RAG架构白皮书】:基于2026大会实测数据的向量库选型决策树(Milvus/Weaviate/Qdrant终极对比)
  • Dell r730xd服务器阵列卡实战:系统盘RAID 1配置详解与避坑指南
  • STM32实战:打造物联网智能充电桩安全监控系统
  • 5步掌握SGP4卫星轨道计算:从理论到实战部署指南
  • 深入浅出Virtio:从半虚拟化原理到现代硬件加速演进史
  • 打字不如说话,说话不如截图——AI 代码助手的多模态输入实践晌
  • Google收紧分发与权限,全球监管聚焦数字生命周期
  • 从LOFAR频谱到水下目标识别:特征提取实战与可视化解析