我正在处理一个很大的 ID(长数据类型)列表(10^5 的顺序)。我必须在 ID 列表中找到重复项。但我只能使用 ruby。
在这里我找到了一种方法来做到这一点。 我将遍历列表并将 Id 放入哈希中,但在放入哈希之前,我将检查它是否已经在哈希中。
我不确定 RUBY 中散列的复杂性。
请给我一个更好的主意。
最佳答案
为什么不使用 Set
?
require 'set'
set = Set.new
numbers.each do |number|
puts "Number #{number} is already in the set" unless set.add?(number)
end
或者简单地找到重复项:
require 'set'
set = Set.new
duplicates = numbers.reject { |number| set.add?(number) }
关于ruby - 在大列表中查找重复数字的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19272662/