给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。
ψ(`∇´)ψ 我的思路
- 暴力循环:一个循环遍历出所有的字串,另一个循环判断输入的字符串是否可以由该子串重复组成
package string;
public class RepeatedSubstringPattern {
public static boolean repeatedSubstringPattern(String s) {
if(s.length()<2){return false;} boolean flag="true;" int count="0;" for (int i="1;" <="s.length()/2;" i++) { 遍历出所有可能的子串 if(s.length()%i="=0){" j="0;" while (j<s.length()){ if(!s.substring(0,i).equals(s.substring(j,j+i))){ count++; if(count="=s.length()/2){return" break; } if(j+i="=s.length()){return" true;} j+="i;" else return flag; public static void main(string[] args) system.out.println(repeatedsubstringpattern("abcabc")); code></2){return>
时间复杂度O(n^2)
KMP算法
- 昨天和今天都是一道题,多余的时间是了解KMP算法的,但是我看了几遍都在求next数组的地方卡壳,就先放过去吧🤓
Original: https://www.cnblogs.com/xiannveryao/p/16748335.html
Author: nnn~
Title: 代码随想录第十天 | 459. 重复的子字符串
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/604811/
转载文章受原作者版权保护。转载请注明原作者出处!