Анаграмма
Анаграмма — это слово или строка, полученная перестановкой символов другой строки без добавления, удаления или изменения символов. Например, «кот» и «ток» являются анаграммами.
Как проверить анаграмму
Сначала проверяют длину строк. Если длины различаются, строки не могут быть анаграммами. Затем для каждой строки подсчитывают, сколько раз встречается каждый символ, и сравнивают полученные данные. Для этого может применяться таблица частот символов. Идея похожа на сравнение строк, но при проверке анаграммы одинаковый порядок символов не требуется.
Здесь \(|s|\) и \(|t|\) — длины строк, а \(f_s(c)\) и \(f_t(c)\) — количество вхождений символа \(c\) в соответствующую строку. Важно заранее определить правила обработки пробелов, регистра и знаков препинания: строки «Аня» и «няа» могут считаться анаграммами только после приведения к одному регистру.
Строки «тарак» и «карта» имеют длину 5. В обеих встречаются символы: «а» — 2 раза, «т» — 1 раз, «р» — 1 раз, «к» — 1 раз. Следовательно, это анаграммы.
При обычном сравнении строк проверяют символы на одинаковых позициях. Для анаграмм позиции не важны: «кот» и «ток» различны при посимвольном сравнении, но являются анаграммами.
Какая пара строк является анаграммой?
Главное
- Анаграммы состоят из одинаковых символов в одинаковых количествах, но символы расположены в разном или совпадающем порядке.
- Для проверки сравнивают длины строк и частоты символов.
- Перед проверкой нужно установить правила для регистра, пробелов и других знаков.