For a string sequence
, a string word
is k
-repeating if word
concatenated k
times is a substring of sequence
. The word
's maximum k
-repeating value is the highest value k
where word
is k
-repeating in sequence
. If word
is not a substring of sequence
, word
's maximum k
-repeating value is 0
.
Given strings sequence
and word
, return the maximum k
-repeating value of word
in sequence
.
Input: sequence = "ababc", word = "ab" Output: 2 Explanation: "abab" is a substring in "ababc".
Input: sequence = "ababc", word = "ba" Output: 1 Explanation: "ba" is a substring in "ababc". "baba" is not a substring in "ababc".
Input: sequence = "ababc", word = "ac" Output: 0 Explanation: "ac" is not a substring in "ababc".
1 <= sequence.length <= 100
1 <= word.length <= 100
sequence
andword
contains only lowercase English letters.
class Solution:
def maxRepeating(self, sequence: str, word: str) -> int:
i = 0
k = 0
while i + (k + 1) * len(word) <= len(sequence):
if sequence[i:i + (k + 1) * len(word)] == (k + 1) * word:
k += 1
else:
i += 1
return k
# @param {String} sequence
# @param {String} word
# @return {Integer}
def max_repeating(sequence, word)
i = 0
k = 0
while i + (k + 1) * word.length <= sequence.length
if sequence[i...i + (k + 1) * word.length] == word * (k + 1)
k += 1
else
i += 1
end
end
k
end