Войти Регистрация
Алгоритмы

21. Группировка анаграмм

Средняя

Дан список слов words. Сгруппируйте слова, составленные из одного набора букв с теми же количествами.

Порядок однозначный: группы — в порядке первого появления их слова, слова внутри группы — в исходном порядке. Повторы слов сохраняйте.

В работе: Склеить в одну карточку товары с переставленными словами в названии.

Пример 1

Ввод
words = ["листок", "слиток", "кот", "ток", "стол"]
Вывод
[["листок", "слиток"], ["кот", "ток"], ["стол"]]

Пример 2

Ввод
words = []
Вывод
[]

Ограничения

  • 0 ≤ число слов ≤ 10⁵
  • Длина слова ≤ 100
  • Лимит — 1 с на тест.
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def group_anagrams(words):
Хеш-таблицаСтрокицельO(n)

Источник: отчёт о Яндексе, 2021. Условие пересказано своими словами.

Ещё давали: Альфа-Банк, фронтенд, 2024; тег Авито на LeetCode.

Давали на собеседовании? Ответов пока мало — ваш поможет.