Мне нужно сделать домашнее задание, и мне нужна помощь. Я должен написать программу, чтобы найти первую подстроку длины k, которая повторяется в строке по крайней мере дважды.
Например, в строке «банан» есть две повторяющиеся подстроки длины 2: «an», «na». В этом случае ответом является «an», потому что он появился раньше, чем «na»
Обратите внимание, что простой алгоритм O (n ^ 2) бесполезен, поскольку существует ограничение по времени выполнения программы, поэтому я думаю, что оно должно быть в линейном времени.
Также есть подсказка: используйте Хэш-таблицу.
Мне не нужен код. Я просто хочу, чтобы вы дали мне подсказку, потому что я понятия не имею, как это сделать, используя хэш-таблицу. Должен ли я использовать определенную структуру данных тоже?