使用此代码,我可以在数组中找到大多数出现的项目:
letters.max_by { |i| letters.count(i) }
但是,这将返回2
的
a = [1, 2, 2, 3, 3]
虽然3
有相同的发生。我怎样才能知道是否真的有一个出现次数最多的项目?false
如果没有单一的冠军,我想得到。
如果您不关心性能,我想您可以这样做:
def max_occurrences(arr)
arr.sort.max_by { |v| arr.count(v) } != arr.sort.reverse.max_by { |v| arr.count(v) } ? false : arr.max_by { |v| arr.count(v) }
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句