Объединение аккаунтов по почте
Задача по программированию с проверкой онлайн
- Сложность
- Средняя
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Словари и множества
- Деревья и графы
Дан список аккаунтов: каждый аккаунт — список строк, где первая строка — имя владельца, а остальные (хотя бы одна) — его адреса почты. Адреса состоят из строчных латинских букв, цифр и символов @ и .. Если у двух аккаунтов есть общий адрес, они принадлежат одному человеку, причём связь транзитивна: аккаунты, связанные цепочкой общих адресов, объединяются. Имя у объединяемых аккаунтов всегда совпадает, а тёзки без общих адресов — разные люди.
Верните объединённые аккаунты в том же формате: имя, затем все различные адреса группы по возрастанию (по кодам символов). Сами аккаунты упорядочьте по возрастанию первого адреса. Для пустого списка верните пустой список. Аккаунтов не больше 1000.
Пример: [["A", "a@x", "b@x"], ["B", "c@x"], ["A", "b@x", "d@x"]] → [["A", "a@x", "b@x", "d@x"], ["B", "c@x"]].
Источник: задача CodeShare