2016-07-15 34 views
-2

如何在數組中找到兩個具有最小差異的元素?如何查找數組中有最小差異的兩個元素?

換句話說,如何找到兩個具有最小標準差的元素。

例如,如果我有這樣的數組:

ARR = [158,2,15,38,17,91]

其結果將是15和17

+4

[* Standard deviation *](https://en.wikipedia.org/wiki/Standard_deviation)表示與平均數的差異,而不是數據集中兩個值之間的差異。 – trincot

+0

請閱讀「[問]」,包括鏈接的頁面和「[mcve]」。我們希望看到您的努力,無論是您搜索的地方,爲什麼他們沒有幫助,或您爲解決問題編寫的代碼。沒有代碼,它看起來像你要求我們爲你寫代碼,這不是它的目的。請閱讀http://meta.stackoverflow.com/q/261592/128421,因爲它有助於解釋事情的努力方面。 –

回答

5

我假設問題是「數組中的兩個元素是其最小差值的絕對值?」。

arr.combination(2).min_by { |a,b| (a-b).abs } 
    #=> [15, 17] 

Array#combinationEnumerable#min_by

相關問題