반복되는 패턴의 시작과 끝 위치를 찾으려는 큰 목록의 하위 목록 (약 16000)이 있습니다. 나는 반복이 있다는 것을 100 % 확신하지는 못했지만 하위 목록 순서에 나타나는 대각선 때문에 그렇게 믿을만한 이유가 있습니다. 하위 목록의 구조는이 스크립트의 다른 것들에 사용되는 방식으로 선호됩니다. 데이터는 다음과 같습니다큰 목록 내에서 반복 저널 찾기
data = ['1100100100000010',
'1001001000000110',
'0010010000001100',
'0100100000011011', etc
내가 언제 제약, 그러나 가장 빠른 방법에 싫은 내색되지 않을이 없습니다. 코드는 앞으로 호출 될 시작/끝 시퀀스와 목록 내의 위치를 반환 할 수 있어야합니다. 좀 더 유용하게 사용할 수있는 데이터 배열이 있다면 필요하다면 다시 포맷 할 수 있습니다. 파이썬은 내가 지난 몇 개월 동안 배웠던 무언가이기 때문에 아직 처음부터 내 자신의 알고리즘을 만들 수는 없습니다. 고맙습니다!
그 목록을 사용하는 대신 집합을 사용할 수 있습니까? –
접미어 트리 (예 : [(1)] (http://www.geeksforgeeks.org/suffix-tree-application-3-longest-repeated-substring/)를 살펴 보거나 질문을 "반복 된 하위 문자열 "더 많은 결과를 얻으실 수 있습니다. – jedwards
@AliSAIDOMAR 집합을 사용하면 한 문자 만 표시됩니다. 전체 목록이 0 또는 1이므로 문제가됩니다. – paperstsoap