2016-07-13 6 views
-2

理解していませんか?は、私は本当に私が疑問に取り組んでいますが、私はまだこの質問を尋ねるために正確に理解していない何ん「最寄りのより大きな」手段(ルビー)

([2,3,4,8]、2)の期待出力が3に等しい理由がわかりません おそらく3が2に最も近い数値ですか?または配列の何か他の番号?

以下のすべての出力がわかりません

私を助けてください!

は機能、アレイと インデックスを取るnearest_larger(arr, i)を書く:これは質問と以下の出力である

どうもありがとう。

(A)arr[i] < arr[j]を、AND (B)arr[i] < arr[j2]jよりiにないj2近いがある:これは 満たすべきである:。機能は別の指標、jを返すべきタイの場合 選択し、(以下の例を参照)、最も早い(左端)2つのインデックスの 。 arrには数がarr[i]より大きくない場合は、nilを返す 。

難易度:2/5

def nearest_larger(arr, idx) 
end 

puts("Tests for #nearest_larger") 
puts("===============================================") 
    puts "nearest_larger([2,3,4,8], 2) == 3: " + (nearest_larger([2,3,4,8], 2) == 3).to_s 
    puts "nearest_larger([2,8,4,3], 2) == 1: " + (nearest_larger([2,8,4,3], 2) == 1).to_s 
    puts "nearest_larger([2,6,4,8], 2) == 1: " + (nearest_larger([2,6,4,8], 2) == 1).to_s 
    puts "nearest_larger([2,6,4,6], 2) == 1: " + (nearest_larger([2,6,4,6], 2) == 1).to_s 
    puts "nearest_larger([8,2,4,3], 2) == 0: " + (nearest_larger([8,2,4,3], 2) == 0).to_s 
    puts "nearest_larger([2,4,3,8], 1) == 3: " + (nearest_larger([2,4,3,8], 1) == 3).to_s 
    puts "nearest_larger([2, 6, 4, 8], 3) == nil: "+ (nearest_larger([2, 6, 4, 8], 3) == nil).to_s 
    puts "nearest_larger([2, 6, 9, 4, 8], 3) == 2: "+ (nearest_larger([2, 6, 9, 4, 8], 3) == 2).to_s 
puts("===============================================") 
+1

私はそれがプログラミングに関するものではありませんので、オフトピックとして、この質問を閉じるために投票していますが、それが英語で文を理解することについてです。 –

答えて

2

方法nearest_inputのパラメータは次のとおり

  1. アレイ、
  2. インデックスその配列へ。

したがって、最初の例では、この方法は、この配列のインデックスだから2

で値より大きい配列内の値のインデックスを返す:[2,3,4,8]

  • インデックス2の値は、次の最高値は8
  • 値8のインデックスが3
012である4
  • あります
  • +0

    ありがとうございました!^_ ^ –

    関連する問題