在 Ruby 中,要查找出现次数最多的数组中的项,可以使用 inject
方法结合一个哈希表来实现。以下是一个示例代码:
def most_frequent(array)
counts = array.inject(Hash.new(0)) { |h, e| h[e] += 1; h }
max_count = counts.values.max
counts.select { |k, v| v == max_count }.keys
end
# 示例用法
array = [1, 2, 3, 2, 1, 3, 1, 1, 2, 3, 3, 3]
result = most_frequent(array)
puts "出现次数最多的项是:#{result.inspect}"
在这个示例中,我们首先使用 inject
方法遍历数组,并使用一个哈希表来记录每个元素出现的次数。然后,我们找到出现次数最多的项,并将其返回。
这个方法可以应用于任何类型的数组,包括字符串、数字、布尔值等。
领取专属 10元无门槛券
手把手带您无忧上云