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

力扣 LeetCode 459. 重复的子字符串(Day4:字符串)

解题思路:

KMP算法

len - next[len - 1]作为最小公共子串的长度

len % (len - next[len - 1]) == 0检测能否构成重复串,能构成整数倍,代表可以构成

注意:

i 从 j 的下一位开始,即 i 初始化为 1 

next[len - 1]需要大于0(等于0时,len%len一定满足==0,未起到判断效果,因为一定返回true)

class Solution {public boolean repeatedSubstringPattern(String s) {int len = s.length();int[] next = new int[len];int j = 0;next[0] = 0;for (int i = 1; i < s.length(); 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) return true;return false;}
}


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

相关文章:

  • 生产模式打包
  • AndroidStudio-常用布局
  • AGI自学分享,简单有用的理论与实践
  • Java 实现自定义 LRU 缓存
  • 搜索引擎的演变与未来发展趋势分析
  • 递归探秘:从斐波那契数列到迷宫求解
  • UVa 11288 Carpool
  • 打造专业问答社区:Windows部署Apache Answer结合cpolar实现公网访问
  • Cocos Creator《星际征服者》3D实时对战战机类游戏
  • 基于Springboot+微信小程序的健康饮食小程序 (含源码数据库)
  • 飞牛云fnOS本地部署WordPress个人网站并一键发布公网远程访问
  • 什么?postman 还可以做性能测试?
  • C++的返回值在内存中的传递过程
  • 【微信小程序】关于小程序开发过程中的一些经验之谈,很有用!!
  • StableDiffusion系列教程 |SD提示词编写指南
  • PSRR仿真笔记
  • 37拼购模式后期可能面临的问题及解决方案
  • 数据分析师证书怎么考
  • 后端-实现excel的导出功能(超详细讲解)
  • 海天味业监事交易违规,新任女掌门现管理漏洞
  • 121、SQL Server取开始时间、截止时间
  • redis的事务
  • 编程之路,从0开始:知识补充篇
  • Spring Boot 应用程序中集成 Redis 并实现存储读取字符串或者复杂对象
  • 得物精准测试平台设计与实现
  • ros1 noetic跑UR5_gripper_camera_gazebo