首页 > 试题广场 >

重复的子字符串

[编程题]重复的子字符串
  • 热度指数:1987 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个字符串,请你判断这个字符串是否可以通过重复多次它的子字符串来构成。

数据范围:字符串长度 1 \leq n \leq 10^5 \ ,保证字符串中仅包含小写英文字母
示例1

输入

"skjl"

输出

false
示例2

输入

"nowcodernowcoder"

输出

true
头像 BlueProtocol
发表于 2022-10-09 22:40:42
将字符串再重复叠加一下,两个str加在一起,去掉第一个和最后一个字符,构成字符串 这个时候如果该str如果是由重复的子字符串串构成的话,那么str一定包含在上面的字符串之中 这种解法是非常巧妙的,所以有些时候,你会发现,算法很美~ 展开全文
头像 君无颜
发表于 2022-03-04 21:52:54
看到这个第一个想法是推规律,利用规律去写,最简单的还是暴力写法。写完了之后再去想代码优化。 暴力解法 核心思路: 将每个 (总长度 % 子串长度)为0的情况都循环检查 检查的方式就是判断当前位置和前一个子串长度位置的字符是否相等 类似于"qweqweqwe",当检查到子串长度为3时,我们会判断下 展开全文
头像 姐姐的遮阳伞
发表于 2022-04-09 15:58:49
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @ 展开全文
头像 牛客944385736号
发表于 2024-03-12 19:54:19
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @return bool布尔型 */ #include <string.h> bool repeatSubstring(char 展开全文
头像 fred-coder
发表于 2022-03-02 11:34:09
模拟,从 [2, n // 2] 判断是否构成 s # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param str string字符串 # @return(756076230) bool布尔型 # class Solution: def 展开全文
头像 牛客82035003号
发表于 2022-04-15 20:36:20
如果重复,那么至少重复一次吧,字符串个数从1到len/2,均检查一遍,看是否是被重复的字符串 第一趟检查是否是第一个字符重复而形成的字符串 第二趟检查是否是前两个字符重复而形成的字符串 第三趟检查是否是前三个字符重复而形成的字符串 ……   #include 展开全文
头像 Geat
发表于 2023-09-05 20:48:38
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param str string字符串 * @return bool布尔型 * 展开全文