Ruby:如何在哈希中找到最大值的键?

Geo*_*ayi 3 ruby hash max

您好我正在尝试找到哈希值中的最大值.我在谷歌搜索,我发现这个代码:

def largest_hash_key(hash)
  key = hash.sort{|a,b| a[1] <=> b[1]}.last
  puts key
end

hash = { "n" => 100, "m" => 100, "y" => 300, "d" => 200, "a" => 0 }
largest_hash_key(hash)
Run Code Online (Sandbox Code Playgroud)

在此代码中,"puts"打印出最大的键和值ex y300.那么,我如何修改代码以找到最大值并将其键入to_s变量?

tok*_*and 8

这是O(n):

h = {"n" => 100, "m" => 100, "y" => 300, "d" => 200, "a" => 0}
key_with_max_value = h.max_by { |k, v| v }[0] #=> "y"
Run Code Online (Sandbox Code Playgroud)