【Leetcode每日一题(Days3)】721. Accounts Merge(账户合并)

题目描述

在这里插入图片描述
题目详情:
721.账户合并

思考

(太衰了,学习第三天就碰到我最不擅长的图)这次题目是看懂了,但是一点思路都没有,查看了灵茶山艾府的思路和代码(看了好几遍,甚至一行一行分析代码我才知道他的思想和代码的对应关系【太菜了我】)
大概总结:将各账户和各邮箱都当作一个节点,然后通过一个dict将邮箱和该邮箱对应的所有账户在accounts中的行下标对应,输出的defaultdict是这样的:
defaultdict(<class 'list'>, {'johnsmith@mail.com': [0, 1], 'john_newyork@mail.com': [0], 'john00@mail.com': [1], 'mary@mail.com': [2], 'johnnybravo@mail.com': [3]})
上面创建的是邮箱对应账户,然后下面通过账户遍历,每遍历一个账户都查看该账户后面的邮箱有没有在email_set里面,如果在则跳出这个邮箱的循环,否则将其添加到email_set中,并且遍历该邮箱对应的所有账户是不是被访问了(就是去查看defaultdict中对应邮箱后面list里的所有值)

解答

from collections import defaultdict

class Solution:
    def accountsMerge
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值