Я стою исправлено.
ужно обнаружить наличие нескольких блоков столбчатых данных, учитывая только их заголовки. О данных ничего не известно, кроме заголовочных слов, которые различны для каждого набора данных.
Важно отметить, что заранее неизвестно, сколько слов содержится в каждом блоке и, следовательно, сколько блоков есть.
Не менее важно, что список слов всегда относительно короткий - менее 20.
Итак, учитывая список или массив заголовочных слов, таких как:
Opt
Object
Type
Opt
Object
Type
Opt
Object
Type
Какой способ обработки наиболее эффективен, чтобы определить, что он полностью состоит из повторяющейся последовательности:
Opt
Object
Type
Это должно быть точное совпадение, поэтому моя первая мысль состоит в том, чтобы искать [1+] и искать совпадения с [0], называя их индексами n, m, ... Тогда, если они равноудалены, проверьте [1] == [n + 1] == [m + 1] и [2] == [n + 2] == [m + 2] и т. Д.
РЕДАКТИРОВАТЬ: он должен работать для наборов слов, где некоторые слова сами повторяются в блоке, поэтому
Opt
Opt
Object
Opt
Opt
Object
это набор из 2
Opt
Opt
Object