Решение задачи 7.
Каждому слову приписываем его номер в словаре. Сначала сортируем буквы в каждом слове по (например) неубыванию. Получаем какой-то "ключ", который совпадает у всех слов-анаграмм (например, слова 'лом' и 'мол' преобразуются в одни и те же ключи 'лмо').
Далее мы сортируем ключи слов (совместно с приписанными номерами) по неубыванию. Все одинаковые ключи будут размещаться в отсортированной последовательности слов друг за другом. Мы просматриваем полученную последовательность, ищем совпадающие ключи и по приписанным им номерам находим в словаре соответствующие слова-анаграммы.
|