У меня есть алфавитно-цифровая строка, и я хочу проверить повторение шаблона в ней только для целых чисел. И они должны быть непрерывными.
Пример
- 12341234QQ должен сказать мне, что 1234 повторяется.
- 1234qwe1234 должен НЕ сказать, что 1234 повторяется, так как он не является непрерывным.
- 12121212 следует рассматривать как 12 повторяющихся, поскольку это первый набор, который будет найден, повторяется. Но если есть алгоритм, который найдет 1212 в качестве повторного набора до 12, я думаю, он должен снова выполнить шаги на 1212.
Я думал, что я могу хранить целую часть, итерируя и сравнивая ее с ( <= '0' && >= '9')
в другом StringBuilder
. Затем я читал о выполнении БПФ на строке, и он показывает повторяющиеся шаблоны. Но я понятия не имею, как выполнять FFT на Java и искать результаты, также я надеялся сделать это, не обращаясь к обработке сигналов. Я прочитал о сопоставлении шаблонов KMP, но работает только с данным вводом. Есть ли другой способ сделать это?