type
status
date
slug
summary
tags
category
icon
password
创建时间
Jan 3, 2025 12:12 PM
给定一个列表
accounts
,每个元素 accounts[i]
是一个字符串列表,其中第一个元素 accounts[i][0]
是 名称 (name),其余元素是 emails 表示该账户的邮箱地址。现在,我们想合并这些账户。如果两个账户都有一些共同的邮箱地址,则两个账户必定属于同一个人。请注意,即使两个账户具有相同的名称,它们也可能属于不同的人,因为人们可能具有相同的名称。一个人最初可以拥有任意数量的账户,但其所有账户都具有相同的名称。
合并账户后,按以下格式返回账户:每个账户的第一个元素是名称,其余元素是 按字符 ASCII 顺序排列 的邮箱地址。账户本身可以以 任意顺序 返回。
深度优先遍历
参考 灵茶山艾府
关键是建立 email 与用户下标之间的反向关联,可以通过相同的 email 找到下一个用户(这里我一开始纠结好久,想了用用户名称作为键,貌似不行,没想到可以用下标,还是得多练!!!)。
之后使用
set
保存每一次 dfs 遍历的 email
,一方面使用 hash 结构可以快速查找,另一方面可以保存 email
作为这个用户下的结果。