那些将其标记为重复的人 - 认真地,尝试更加负责任。您标记为相同的问题与我提出的问题完全不同。我已经得到了一个很好的答案,在关于类似主题的任何问题上都没有。
我原来的问题:
我看到很多人问如何在字符串中找到最常见的字母。我的代码如下。但我想知道如何获得多个答案以返回。也就是说,如果有几个字母与最常见的计数相同,我如何让我的方法只返回这些字母和所有字母?
def ltr(string)
results = string.scan(/\w/).reduce(Hash.new(0)) {|h,c| h[c] += 1; h}
sorted = results.sort_by{|key,value| value}
sorted[-1]
end
例如,如果我在这个方法中输入的字符串是(“哦,我多么讨厌早上起床”)......那么字母“h”、“o”和“t”各有 4 个。我当前的方法只返回计数为“4”的“t”。我如何让其他人也被退回?
注意:在决定将它们标记为重复之前,请仔细阅读问题。被建议为可能重复的问题只是显示了如何计算字符的频率,而不是如何让它只返回最常见的那些。马特的回答是完美的。