У меня есть строка S. Как найти строку, следующую за S = nT.
Примеры:
Функция должна возвращать true, если
1) S = "abab"
2) S = "abcdabcd"
3) S = "abcabcabc"
4) S = "zzxzzxzzx"
Но если S = "abcb" возвращает false.
Хотя, может быть, мы можем неоднократно называть KMP на подстроках S, а затем решать.
например: для "abab": вызовите KMP на "a". он возвращает 2 (два экземпляра). теперь 2 * len ( "a" )!= len (s)
вызовите KMP на "ab". он возвращает 2. теперь 2 * len ( "ab" ) == len (s), поэтому верните true
Можете ли вы предложить лучшие алгоритмы?