如何在数组中找到两个差异最小的元素?

jyo*_*oon -1 ruby deviation difference

如何在阵列中找到差异最小的两个元素?

换句话说,如何找到具有最小标准偏差的两个元素.

例如,如果我有一个像这样的数组:

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

结果将是15和17.

Car*_*and 7

我假设问题是,"数组的两个元素是它们的差值最小值的绝对值?".

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

请参阅Array#组合Enumerable#min_by.