일부 문자열의 복사본이 하나 이상있는 문자열이 있습니다. 예를 들면 다음과 같습니다.문자열을 반복 된 부분 문자열로 분할하는 방법
이러한 문자열을 목록으로 분할하여 각 요소에 반복되는 부분이 있도록하고 싶습니다. 예를 들면 다음과 같습니다.
splitstring(L) ---> ["hello", "hello", "hello"]
splitstring(M) ---> ["good"]
splitstring(N) ---> ["where", "where"]
splitstring(O) ---> ["ant", "ant"]
문자열의 길이가 약 1000 자이기 때문에 합리적으로 빠릅니다.
필자의 경우 반복은 모두 문자열의 시작에서 시작하여 그 사이에 간격이 없으므로 문자열에서 최대 반복을 찾는 일반적인 문제보다 훨씬 간단합니다.
어떻게하면됩니까?
이 [질문] 한 번 봐 (http://stackoverflow.com/questions/11090289/find-longest-repetitive-sequence-i을 n-a-string) 나는 당신이 비슷한 것을 찾고 있다고 생각하니? 또한이 방법의 복잡도는 O (n)이므로 요구 사항에 따라 매우 빠릅니다. –
@MridulKashyap 제 질문은 훨씬 간단합니다. 반복은 문자열의 시작 부분에서 시작하고 그 사이에 간격이 없습니다. – eleanora