1227 重複的子串模式

2022-02-15 01:52:35 字數 1672 閱讀 3830

1227. 重複的子串模式

中文english

給你乙個非空字串,判斷它能否通過重複它的某乙個子串若干次(兩次及以上)得到。字串由小寫字母組成,並且它的長度不會超過10000。

樣例1:

輸入:"abab"

輸出:true

說明:可以由它的子串"ab"重複兩次得到。

樣例2:

輸入:"aba"

輸出:false

樣例3:

輸入:"abcabcabcabc"

輸出:true

說明:可以由它的子串"abc"重複四次得到(同時也可以是"abcabc"重複兩次)。

class

solution:

""" @param s: a string

@return:

return

a boolean

"""'''

大致思路:

1.初始化值a = s[:len(s)//

2],while true,內層迴圈i=2,if i*a == s,返回true,否則返回false

'''def repeatedsubstringpattern(self,s):

a,l = s[:len(s)//

2],len(s[:len(s)

//2])+1

while

true:

a =a[:l]

if len(a) == 0

:

return

false

time = len(s)//

len(a)

if time >= 2

:

for i in range(1,time+1

):

if i*a ==s:

return

true

l = l-1

return false

第二種方式:o(n)時間複雜度:

class

solution:

'''大致思路:

1.while true,初始化l = len(s)//

2,如果len(s) % l == 0,a=s[:l],l -= 1判斷(len(s)

//l *a) * a == s,返回true,最終l如果等於0的話,則返回false

'''def repeatedsubstringpattern(self,s):

l = len(s)//

2 while

true:

if l == 0

:

return

false

a =s[:l]

if len(s) % l == 0

: b = len(s) //

lif b*a ==s:

return

true

l -= 1

459 重複的子字串

給定乙個非空的字串,判斷它是否可以由它的乙個子串重複多次構成。給定的字串只含有小寫英文本母,並且長度不超過10000。示例 1 輸入 abab 輸出 true 解釋 可由子字串 ab 重複兩次構成。示例 2 輸入 aba 輸出 false 示例 3 輸入 abcabcabcabc 輸出 true 解...

199 (459)重複的子字串

給定乙個非空的字串,判斷它是否可以由它的乙個子串重複多次構成。給定的字串只含有小寫英文本母,並且長度不超過10000。示例 1 輸入 abab 輸出 true 解釋 可由子字串 ab 重複兩次構成。示例 2 輸入 aba 輸出 false 示例 3 輸入 abcabcabcabc 輸出 true 解...

459 重複的子字串

題目描述 給定乙個非空的字串,判斷它是否可以由它的乙個子串重複多次構成。給定的字串只含有小寫英文本母,並且長度不超過10000。解題思路一 迴圈遍歷可以重複的長度,依次比較每個重複長度中對應的字元是否相等,只要可以成功匹配並遍歷完整個陣列,即返回true,否則返回false,如下 class sol...