2016-07-15 9 views
-2

배열에서 가장 작은 차이를 보이는 두 요소를 어떻게 찾을 수 있습니까?배열의 차이가 가장 작은 두 요소를 찾는 방법은 무엇입니까?

즉, 가장 작은 표준 편차를 갖는 두 요소를 찾는 방법입니다. I 같은 배열이있는 경우 예를 들어

:

도착 = 158,2,15,38,17,91]

결과는도 15 및 17

+4

[* 표준 편차 *] (https://en.wikipedia.org/wiki/Standard_deviation)는 데이터 세트의 두 값의 차이가 아니라 평균과의 차이를 나타냅니다. – trincot

+0

링크 된 페이지와 "[mcve]"를 포함하여 "[ask]"를 읽으십시오. 검색 한 장소와 도움이되지 않은 이유 또는 문제 해결을 위해 작성한 코드 중 하나를 표시하고자합니다. 코드가 없으면 코드 작성을 요청하는 것처럼 보입니다. SO 코드가 아닙니다. 사물의 노력 측면을 설명하는 데 도움이되는 http://meta.stackoverflow.com/q/261592/128421도 읽어주십시오. –

답변

5

"배열의 두 요소가 차이의 최소값의 절대 값입니까?"라는 질문을 가정합니다.

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

Array#combinationEnumerable#min_by 참조하십시오.