これは、私が持っている各果物の量を追跡するハッシュです
果物 = {"りんご" => 10, "梨" => 15, "バナナ" => 15, "ぶどう" => 12}
そして、私が一番多く持っている果物を知りたいです。
タイブレーカーがある場合は、すべて返してください。
これは、私が持っている各果物の量を追跡するハッシュです
果物 = {"りんご" => 10, "梨" => 15, "バナナ" => 15, "ぶどう" => 12}
そして、私が一番多く持っている果物を知りたいです。
タイブレーカーがある場合は、すべて返してください。
# easy
max_quantity = fruits.values.max
max_fruits = fruits.select { |k, v| v == max_quantity }.keys
# fast
max_quantity = -1.0/0.0
max_fruits = []
fruits.each do |k, v|
if v > max_quantity
max_quantity = v
max_fruits = []
end
max_fruits.push k if v == max_quantity
end
例外的なケースは Bad(tm) であるため、どちらも常に配列を返します。
max_value = fruits.values.max
keys = fruits.select{|k, v| v == max_value}.keys