🗒️721. 账户合并
2025-1-3
| 2025-1-3
0  |  阅读时长 0 分钟
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 作为这个用户下的结果。
 

📎 参考

 
  • 【题单】图论算法
  • 207. 课程表2101. 引爆最多的炸弹
    Loading...