-1

配列内で差が最も小さい 2 つの要素を見つけるにはどうすればよいですか?

つまり、標準偏差が最も小さい 2 つの要素を見つける方法です。

たとえば、次のような配列があるとします。

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

結果は 15 と 17 になります。

4

1 に答える 1

8

問題は、「配列のどの 2 つの要素の差の絶対値が最小か」ということだと思います。

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

Array#combinationEnumerable#min_byを参照してください。

于 2016-07-15T18:18:33.377 に答える