在散列中查找最低值

chi*_*ief 14 ruby

a = { 
      1 => ["walmart", "walmart.com", 300.0], 
      2 => ["amazon", "amazon.com", 350.0], 
      ...
    } 
Run Code Online (Sandbox Code Playgroud)

如何在数组中找到浮点值最小的元素?

Anu*_*rag 28

min_by可用作Enumerable模块中的方法.

它获取Hash中所有值的数组,然后根据每个数组的最后一个元素选择最小值.

a.values.min_by(&:last)
Run Code Online (Sandbox Code Playgroud)


Fin*_*arr -5

请参阅min_by下面答案中的解决方案。正如评论中指出的那样,我对这个问题的最初回答效率较低。

  • -1。一般来说,这是错误的算法,因为当存在“O(N)”解决方案时,它的复杂度为“O(N log(N))”。 (7认同)