我正在解决一个测验,需要一些建议。
测验摘要如下:
分析书签服务(如delicious、digg...)的数据并提取具有两个以上公共标签的url 组。
- 每个书签数据包含 1) 用户 ID、2) url 和 3) 一个标签数组。
- 与所有 url 相比,所有标签的大小都相对较小。也就是说,人们用有限的集合为网站添加书签
- 分配给 URL 的所有标签都不同
- 如果不同的用户为同一个 URL 添加了书签,你不应该将他们分成组。(但是,这是一个可选条件。你可以忽略 user_id 并假设所有 URL 都不同。)
例子:
siteA - [tag1, tag2, tag3]
siteB - [tag1, tag2, tag4]
siteC - [tag1, tag3, tag5]
siteD - [tag1, tag2, tag6]
以下两组 URL 将是结果
(siteA, siteB, siteD), (siteA, siteC)
因为 (siteA, siteB, siteD) 共享两个公共标签 (tag1, tag2) 并且 (siteA, siteC) 也共享两个公共标签 (tag1, tag3) 。
-- 条件 3,4 并添加了一个示例。谢谢@btilly。
我的问题是
- 如何解决(或可以应用哪种算法)并且实际上快速?
- 有没有可以用与这个问题类似的算法来解决的代表性问题?