1227. 重複的子串模式
中文english
給你乙個非空字串,判斷它能否通過重複它的某乙個子串若干次(兩次及以上)得到。字串由小寫字母組成,並且它的長度不會超過10000。
樣例1:
輸入:"abab"
輸出:true
說明:可以由它的子串"ab"重複兩次得到。
樣例2:
輸入:"aba"
輸出:false
樣例3:
輸入:"abcabcabcabc"
輸出:true
說明:可以由它的子串"abc"重複四次得到(同時也可以是"abcabc"重複兩次)。
classsolution:
""" @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)時間複雜度:
classsolution:
'''大致思路:
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...