a = {
1 => ["walmart", "walmart.com", 300.0],
2 => ["amazon", "amazon.com", 350.0],
...
}
¿Cómo puedo encontrar el elemento con el valor más bajo del valor de flotación en su matriz?Encuentra el valor más bajo en un hash
a = {
1 => ["walmart", "walmart.com", 300.0],
2 => ["amazon", "amazon.com", 350.0],
...
}
¿Cómo puedo encontrar el elemento con el valor más bajo del valor de flotación en su matriz?Encuentra el valor más bajo en un hash
Consulte la solución min_by
en la respuesta a continuación. Mi respuesta original a esta pregunta fue mucho menos eficiente, como se señala en el comentario.
min_by
está disponible como un método del módulo Enumerable
.
Obtiene la matriz de todos los valores en el Hash, y luego selecciona el valor mínimo basado en el último elemento de cada matriz.
a.values.min_by(&:last)
-1. Este es el algoritmo incorrecto en general ya que es 'O (N log (N))' cuando hay una solución 'O (N)'. –