搜索唯一的网址

时间:2012-08-31 06:51:04

标签: string algorithm hash string-search

鉴于一套100万(非常大)没有。的URL。从列表中找到“第一个”“唯一”网址。

我的方法:使用完美的散列函数构建散列,这可以提供帮助。但我的问题是哈希大数据是不可能的。那么我该如何解决这个问题。

有任何方法可以在现场进行吗? 请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:1)

给定["c","a","b","a","c"]的输入列表,我的第一种方法是:

  1. 将URL列表转换为元组列表,这些元组将每个元素与列表中的位置相关联。现在你有[(0,"c"),(1,"a"),(2,"b"),(3,"a"),(4,"c")]
  2. 按字典顺序按第二个元组元素(URL)对列表进行排序。现在你有[(1,"a"),(3,"a"),(2,"b"),(0,"c"),(4,"c")]
  3. 后续相等元组的序列(如果第二个元素等于,则元组相等)成为子列表。现在你有[[(1,"a"),(3,"a")],[(2,"b")],[(0,"c"),(4,"c")]]
  4. 过滤列表,以便您只有长度为1的列表。现在您有[[(2,"b")]]
  5. 如果结果列表为空,则列表中没有唯一的URL。如果它不为空,则按第一个元组元素(字符串中的位置)对列表进行排序。在这种情况下,您将获得相同的列表 - [[(2,"b")]]
  6. 获取列表的第一个元素。现在你有[(2,"b")]
  7. 此列表中的()元组会告诉您第一个唯一的网址以及输入列表中的位置:它是位于b位置的网址2输入清单。