我有以下几条面试问题:
给定两个无序客户列表,返回两个列表的交集的列表。也就是说,返回出现在两个列表中的客户列表。
我建立的一些东西:
我认为关键是要找到一种有效的算法/使用数据结构来尽可能高效地做到这一点。
我的进度是这样的:
面试官一直问:“下一步呢?”,所以我想我还缺少其他东西。
还有其他技巧可以有效地做到这一点吗?
旁注,这个问题在python中,而我只是读到about sets,它似乎尽可能有效地做到了这一点。知道什么是数据结构/算法sets吗?
sets
这种方法的好处(除了允许您在采访中正确使用半模糊数据结构外)是,在您(很有可能)减小问题的大小之前,不需要任何O(n)存储。
也许他们会一直问这个问题,直到您用尽答案为止。
http://code.google.com/p/python-bloom- filter/是Bloom过滤器的python实现。