我有一些字符串,每个字符串都是某个字符串的一个或多个副本。例如:
L = "hellohellohello"
M = "good"
N = "wherewhere"
O = "antant"
我想将这样的字符串拆分为列表,使得每个元素只包含重复的部分。例如:
splitstring(L) ---> ["hello", "hello", "hello"]
splitstring(M) ---> ["good"]
splitstring(N) ---> ["where", "where"]
splitstring(O) ---> ["ant", "ant"]
由于每个字符串大约有1000个字符长,如果能够相对快速地完成这个任务就太好了。
请注意,在我的情况下,所有的重复都从字符串的开头开始,并且它们之间没有间隙,所以比起在一个字符串中找到最大重复的一般问题来说,这要简单得多。
那么,如何做到这一点呢?