我在另一个网站上遇到了以下面试问题:
您在收件箱中收到一堆电子邮件。您想将所有发件人地址发送到某个服务器。您可以分批发送它们(每批包含一堆发件人电子邮件地址)。限制是任何批次都不能包含重复的电子邮件地址。您将如何编写一个程序来分批发送所有电子邮件地址,从而使批次数量最少。
分析复杂性
我喜欢的答案是将电子邮件放入二叉搜索树(从而删除重复项),然后将其序列化并发送。这将只发送一批,并且是 O(n*log n) 时间。有人愿意提出更好的解决方案吗?
我在另一个网站上遇到了以下面试问题:
您在收件箱中收到一堆电子邮件。您想将所有发件人地址发送到某个服务器。您可以分批发送它们(每批包含一堆发件人电子邮件地址)。限制是任何批次都不能包含重复的电子邮件地址。您将如何编写一个程序来分批发送所有电子邮件地址,从而使批次数量最少。
分析复杂性
我喜欢的答案是将电子邮件放入二叉搜索树(从而删除重复项),然后将其序列化并发送。这将只发送一批,并且是 O(n*log n) 时间。有人愿意提出更好的解决方案吗?