擅长:python、mysql、java
<p>一种可能且简单的解决方案是使用python <code>index</code>函数来标识子字符串的最近索引。在那里,您可以继续向前搜索子字符串,直到找到不再出现的点,然后再次调用<code>index</code>以向前跳过。你知道吗</p>
<p>示例:</p>
<pre><code>a = "abcxyzabcabcabcxyzabcxyz"
b = "abc"
curr_index = a.index(b)
longest_count = 0
current_count = 0
while curr_index < len(a):
if a[curr_index : curr_index + len(b)] == b:
curr_index += len(b)
current_count += 1
else:
if longest_count < current_count:
longest_count = current_count
try:
curr_index = a.index(b, curr_index)
except ValueError:
# Substring no longer found in string slice
break
current_count = 0
if longest_count < current_count:
longest_count = current_count
print(longest_count)
</code></pre>
<p>它只返回最长的重复计数,但不返回开始的位置。然而,添加这些功能是微不足道的。你知道吗</p>