a = {
1 => ["walmart", "walmart.com", 300.0],
2 => ["amazon", "amazon.com", 350.0],
...
}
Come trovare l'elemento con il valore più basso del valore float nel suo array?Trova il valore più basso in un hash
a = {
1 => ["walmart", "walmart.com", 300.0],
2 => ["amazon", "amazon.com", 350.0],
...
}
Come trovare l'elemento con il valore più basso del valore float nel suo array?Trova il valore più basso in un hash
Vedere la soluzione min_by
nella risposta seguente. La mia risposta originale a questa domanda è stata molto meno efficace, come sottolineato nel commento.
min_by
è disponibile come metodo dal modulo Enumerable
.
Ottiene la matrice di tutti i valori nell'Hash e quindi preleva il valore minimo in base all'ultimo elemento di ogni matrice.
a.values.min_by(&:last)
-1. Questo è l'algoritmo sbagliato in generale dato che è 'O (N log (N))' quando c'è una soluzione 'O (N)'. –