2016-07-22 5 views
-2

arr1は3要素を持つ配列です。第1はarr2の要素数、第2は回転なしです。第3はありません。入力の。私は、指定された入力インデックスからユーザーがarry2の要素を出力したい。 2番目の入力arryは配列要素を含む入力配列です。このコードの時間複雑さをどのように減らすか

arr1 =gets.strip.split(' ').map(&:to_i) 
arr2 = gets.strip.split(' ').map(&:to_i) 

q=arr1[2] 
count= arr1[1] 

count.times do 
    arr2=arr2.reverse.rotate.reverse 
end 

for i in 0..q-1 do 
    i = gets.strip.to_i 
    puts "#{arr2[i]}\n" 
end 
+2

に置き換えることができます'arr2'と期待される出力? – spickermann

+0

物語はほとんど読めないほどです。私はそれが何を言わなければならないか分かっていればそれを修正するだろうが、私はそうではないと恐れている。明確にするために、句読点やスペルなどに注意して質問を編集してください。私はあなたがネイティブの英語話者ではないことを理解しています。それは問題ありませんが、あなたがそれをもっと明確にすることができれば幸いです。 –

答えて

1

rotateは、ローテーションする要素の数である引数をとります。この数は、他の方向に回転するように負になることができますので、

count.times do 
    arr2=arr2.reverse.rotate.reverse 
end 

は、コピー各反復上のアレイ3回、あなたはarr1` `のための例を追加してくださいすることができ

arr2 = arr2.rotate(-count) 
+0

はい、ありがとうございました –

関連する問題