@jogihif943

Как удалить неявные дубли?

На входе файл с N строк (может быть 10-100к и более)
Задача удалить неявные дубли по полному совпадению словоформы (слова, у которых изменен порядок слов, но не изменены никакие окончания и прочее, например, купить яблоко в москве | яблоко в москве купить)
Сделал вариант с перебором всех перестановок слов для всего массива, но работает такой вариант крайне долго (с файлом на 200к строк ~40 дней в 1 поток)
Была идея сделать через создание массива с массивами (разделить каждую строку по пробелу и отсортировать по алфавиту от А до Я + хеширование), но не смог это реализовать
Вопрос: как это можно реализовать наиболее быстрым способом в 1 поток?
p.s. дубли удалять не нужно, по индексу в массиве заменить на "дубль"
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
Сделал вариант с перебором всех перестановок слов для всего массива, но работает такой вариант крайне долго (с файлом на 200к строк ~40 дней в 1 поток)

Тебе не нужно делать полные перестановки.
Просто разделяй по пробелу и складывай в HashSet
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы